我在 vb.net 中有一个 reportviewer,我有 2 个 .rdlc 文件,即 Report1 和 Report2。它们的设计与表格相同,但 Report1 具有参数和过滤器,Report2 仅显示我记录中的所有内容。
我知道如何在设计时将数据源绑定到reportviewer,但我不知道如何在运行时进行,我需要在第一次加载表单以及用户实际搜索某些内容时切换数据源。基本上这就是我的想法。
http://imageshack.us/photo/my-images/407/reportzm.png/
我需要在第一次加载表单时显示所有记录。所以我需要 Report2.rdlc 来处理没有过滤器的内容。
当我绑定 Report1.rdlc 时,这就是我们所看到的
http://imageshack.us/photo/my-images/255/er11.png/
除了我们在文本框中输入一些值并单击搜索之外,什么都没有显示,记录将根据我们正在搜索的内容加载。
这是代码。
Imports Microsoft.Reporting.WinForms
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: This line of code loads data into the 'houseDataSet.Table1' table. You can move, or remove it, as needed.
Me.Table1TableAdapter.Fill(Me.houseDataSet.Table1)
Me.ReportViewer1.RefreshReport()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim a As New ReportParameter("ReportParameter1", TextBox1.Text)
ReportViewer1.LocalReport.SetParameters(New ReportParameter() {a})
ReportViewer1.RefreshReport()
End Sub
End Class