【发布时间】:2017-04-23 19:06:51
【问题描述】:
我的 frmReports 上有一个报告查看器。我创建了 2 个报告,Report1.rdlc 和 Report2.rdlc。我有一个明确定义的数据集 - 每个报告分别有两个数据表(1、2)。我试图能够在显示两个报告时使用相同的 reportViewer。
目前我有两个按钮(每个报告一个),因此在单击按钮时 - 我查询 SQL SERVER 以获取数据并将其加载到每个 DataTable 中,就像这样..
adapter = New SqlDataAdapter(sql, Con)
adapter.Fill(ds)
ds.Tables(0).TableName = "DataTable1"
ReportViewer1.LocalReport.ReportEmbeddedResource = "WindowsApplication1.Report1.rdlc"
DataTable1BindingSource.DataSource = ds
ReportViewer1.RefreshReport()
我对 Report2 做同样的事情,但使用 DataTable2,我将 EmbededResource 更改为 Report2,将 DataTable Binding 更改为 DataTable2。
问题是,在我运行我的应用程序之前,必须在 CHOOSE REPORT 中预先选择一个报告 - 所以如果预先选择了 Report1.rdlc - 那么当我调试它并运行 Report1 时,它运行得非常好。但是,当它不允许我在这种情况下运行 Report2 时。
我已经尝试在 Form_Load 上使用这两个函数(在这种情况下,报表查看器是空的,只有在用户单击任一按钮时才应填充。
ReportViewer1.Reset()
ReportViewer1.LocalReport.DataSources.Clear()
但它告诉我
尚未为数据源 DataSet1 提供数据源实例。
【问题讨论】:
标签: .net