【发布时间】:2015-12-29 13:13:20
【问题描述】:
我正在尝试将数据表传递给我通过代码填充的报告查看器,有没有办法做到这一点?我试过了,但什么也没发生:
Dim bs As BindingSource
bs = New BindingSource()
bs.DataSource = DataTablefillbycode
Dim rs As ReportDataSource
rs = New ReportDataSource()
rs.Name = "Tabletest"
rs.Value = bs
form2.ReportViewer1.RefreshReport()
form2.ReportViewer1.Reset()
form2.ReportViewer1.LocalReport.ReportEmbeddedResource = "Test.Report1.rdlc"
form2.ReportViewer1.LocalReport.DataSources.Clear()
form2.ReportViewer1.LocalReport.DataSources.Add(rs)
form2.ReportViewer1.RefreshReport()
form2.ShowDialog()
PS : GridView 与表格 "Tablefillbycode" 配合得很好
【问题讨论】:
-
我认为 BindingSource 将返回一个 DataView 对象,而不是 Viewer 需要的 DataTable(如果我在这里错了,请纠正我)。尝试“Dim oDt as DataTable = DirectCast(bs.DataSource,DataView).ToTable()”,然后尝试“rs.Value = oDt”,让我知道它是否有效。
-
你的报告中
DataSet的名字是什么? -
@Aaron 谢谢我现在就试试
-
@RezaAghaei 数据集1
-
@Aaron:无法将“System.Data.DataTable”类型的对象转换为“System.Data.DataView”类型。
标签: vb.net winforms datatable reportviewer