【发布时间】:2014-01-02 03:06:51
【问题描述】:
我是 MS 报告的新手。我想要实现的是制作一个简单的报告,该报告将由DataTable 填充(以编程方式制作)。这个想法是将每个页面的数据分配给来自DataRow 的值。 IE。报告页面1 将从DataTable.Rows[0] 获取其TextBox 值,报告页面2 将显示来自DataTable.Rows[1] 等的值。页数=DataRows 的数量。
我编写了一个 WinForms 应用程序,该应用程序从 SQL 获取 DataTable 并根据用户提供的参数对其进行过滤,然后显示报告。
然后我创建了一个名为ComplianceFormDataSet 的空虚拟对象DataSet,其中包含我将进一步需要的所有字段名称。然后我做了一个.rdlc,用这个表达式添加了一个TextBox:
=Fields!CustomerCode.Value
以下是将数据传递给 ReportViewer 背后的逻辑:
DataTable MainDataTable = new DataTable();
MainDataTable.Columns.Add("CustomerCode", typeof(string));
MainDataTable.Rows.Add("Blah1");
MainDataTable.Rows.Add("Blah2");
ReportDataSource MainDataSource = new ReportDataSource("ComplianceFormDataSet", MainDataTable);
MainReportViewer.LocalReport.DataSources.Clear();
MainReportViewer.LocalReport.DataSources.Add(MainDataSource);
MainReportViewer.RefreshReport();
当我构建这个时,得到一份报告,其中一页写着"Blah1"。如何让它呈现两页:一页带有"Blah1",第二页带有"Blah2"?谢谢。
【问题讨论】:
标签: c# visual-studio datatable pagination reportviewer