我正在尝试让ReportViewer显示来自BindingSource(VB.Net Winforms)的数据。
我在底层数据集上构建了报告。然后我将数据源实例配置为BindingSource。我认为这将应用排序,过滤等。但它看起来像数据来自数据集而不是BindingSource。
我怀疑我错过了一些简单的事情。
更新:或许它不是那么简单 - 几天前我发布了这个,但仍然没有人知道答案!也许我正在尝试做一些无法做到的事情?
答案 0 :(得分:0)
您需要在报告中指定排序(在RDL中),因为它应用了自己的排序逻辑。
答案 1 :(得分:0)
这是我用过的解决方案。您将BindingSource中的数据放入DataTable中,然后让Report使用DataTable。
ReportViewer1.Reset()
Dim dt As DataTable
dt = DirectCast(Form1.ProgActnBindingSource.Current, DataRowView).DataView.ToTable
Dim rs = New ReportDataSource
rs.Name = "name"
rs.Value = dt
ReportViewer1.ProcessingMode = ProcessingMode.Local
ReportViewer1.LocalReport.DataSources.Clear()
ReportViewer1.LocalReport.DataSources.Add(rs)
ReportViewer1.LocalReport.ReportEmbeddedResource = "projectname.Report1.rdlc"
Me.ReportViewer1.RefreshReport()