VB.NET中Reportviewer控件通过代码绑定多个RDLC文件

上一篇中分享了ReportViewer控件绑定RDLC报表并显示的简单方法,但很多情况下,上一种方法就会有很多弊端,今天分享一个通过代码绑定代码的方法。
1、 首先新建一个工程,在工程中加入ReportViewer控件,然后在程序的开头,添加以下代码。
注意需首先在工程中加入ReportViewer控件才能写以下代码,如果没加ReportViewer控件,Microsoft后边的选项中,没有Reporting选项。

Imports Microsoft.Reporting.WinForms
2、接下来就是新建RDLC数据表,和添加数据源,具体的添加方法请参考上一篇分享,本次只把制作好的两个RDLC文件截图如下,如图1与图2.

在这里插入图片描述
图1
在这里插入图片描述
图2
3、接下来就是通过代码绑定RDLC文件了。我在工程中加入了两个button控件,以用来绑定RDLC文件并显示。软件及面如下图3所示。
在这里插入图片描述
图3
4、在雇员中添加以下代码。

 Private Sub 雇员_Click(sender As System.Object, e As System.EventArgs) Handles 雇员.Click
        ReportViewer1.LocalReport.DataSources.Clear()
        Dim rds As ReportDataSource = New ReportDataSource("DataSet1", NorthwindDataSet.Tables("雇员"))
        ReportViewer1.LocalReport.DataSources.Add(rds)
        ReportViewer1.LocalReport.ReportPath = "C:\Users\jek\Desktop\分享\分享\雇员.rdlc"
        Me.ReportViewer1.RefreshReport()
    End Sub

分析一下这段程序,首先第一句为清除Reportviewer控件绑定的数据源,第二句中的"DataSet1",“NorthwindDataSet” ,“雇员”,这三个名称是添加数据源时生成的,如有不懂的请参看,上一篇的图11.第三句程序为Reportviewer加入新的数据源,第四句为添加你设计的RDLC文件存储路径,在参考代码时不要忘记修改这一句,RDLC文件存储路径的获取也很简单,在RDLC界面的标志处,鼠标右键,可以获取文件的路径,如下图4,最后就是更新报表。

在这里插入图片描述
图4

注意: 这段程序有个神奇的地方,有的可以运行,比如我领导就可以直接运行,而我就不行,显示一个对“非共享成员引用”的错误,如下图5所示。解决这个问题的办法也很简单,回到图3,选择ReportViewer控件,先手动选择设计好的“雇员”RDLC表,添加到ReportViewer控件,然后删除该控件,在添加一个新的ReportViewer控件,这时就会发现错误不在显示。然后点击雇员按钮既可以正常显示了,显示结果如图6.客户表不在演示,步骤与上述相同。

在这里插入图片描述
图5
在这里插入图片描述
图6
5、 总结用代码绑定多个RDLC文件,通过ReportViewer控件显示的方法。
1、首先新建工程,加入ReportViewer控件,添加Imports Microsoft.Reporting.WinForms代码。
2、设计需要显示的RDLC报表。
3、添加动态绑定RDLC的代码,如果可以直接运行万事大吉,如果出现上述错误,按照上述方法解决。
6、以上就是本教程的分享,下一节分享一个,不用添加数据库,显示RDLC文件的方法。最后新建一个QQ学习交流群,用于大家学习时交流用,博主也是刚入行没多久,大家一起学习讨论,抱团取暖,如有兴趣可以添加一下,群二维码如下图。
在这里插入图片描述

  • 1
    点赞
  • 0
    评论
  • 2
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:游动-白 设计师:我叫白小胖 返回首页

打赏作者

小菜鸡121381

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

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

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

打赏作者

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

抵扣说明:

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

余额充值