DevExpress使用dataset变量关联报表数据

这次的需求是希望使用DevExpress中的相关控件制作报表,而一般来说,不管是用微软自己的rdlc报表还是DevExpress,凡是涉及到数据绑定的环节基本上都是在讲如何直接连数据库然后做databinding,而我这次不需要从数据库中获取数据,而是内存中的一个dataset类型变量给报表传递数据,具体实现方法如下:

首先新建一个DevExpress的XtraReport,设计好报表样式,试验期间,只在报表中拖放了一个XrLabel控件,默认控件名称为XrLabel1,查看XtraReport的源代码,重新一下它的构造函数,实现带参数构造:

Public Class XtraReport1
    ''' <summary>
    ''' 重新构造函数
    ''' </summary>
    ''' <param name="ds">要传进来的dataset类型对象</param>
    ''' <remarks></remarks>
    Public Sub New(ByVal ds As DataSet)
        InitializeComponent()   '必备的初始化控件过程
        Me.DataSource = ds      '设置整个报表的数据源为传进来的ds参数
        Me.XrLabel1.DataBindings.Add("Text", ds, "test")    '为报表中的控件添加数据绑定
    End Sub
End Class

另外再新建一个winform,拖进去一个DevExpress的DocumentViewer控件和一个button,代码如下:

Public Class printForm

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim ds As New DataSet()
        ds.Tables.Add("dt1")
        ds.Tables("dt1").Columns.Add("test")
        ds.Tables("dt1").Rows.Add({"tom"})

        Dim x As New XtraReport1(ds)    '把ds对象传过去
        Me.DocumentViewer1.DocumentSource = x   '设置DocumentViewer的文档源
        x.CreateDocument()      '必须过程,否则不显示报表内容
    End Sub
End Class

这样运行程序点击按钮后就可以看到预期的效果:在DocumentViewer中显示出来一个"tom"的报表~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DexterLien

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值