本报告介绍如何在开发中实现ReportViewer控件与DataTable的数据动态绑定技术,包括数据源配置、报表设计及程序代码编写等步骤。
为了实现报表报告视图(ReportViewer)动态绑定数据表(DataTable),可以按照以下步骤操作:
1. 创建一个窗体Form1。
2. 在该窗体内添加一个名为reportViewer1的控件。
3. 在解决方案中添加一个新的数据集DataSet。在工具栏上拖入一个DataTable到xsd界面,并在此表格中添加DataColumn1至DataColumn4列。
4. 解决方案中加入新的报表rdlc,设计界面上创建表并选择数据源为dataset1,完成设置。
接着,在Form1.cs文件中的button1_Click方法内编写以下代码:
```csharp
private void button1_Click(object sender, EventArgs e)
{
reportViewer1.Reset();
this.reportViewer1.LocalReport.ReportEmbeddedResource = 报表test.Report1.rdlc;
reportViewer1.LocalReport.DataSources.Clear();
// 添加数据源,DataSet1是XSD文件中的表名
reportViewer1.LocalReport.DataSources.Add(new Microsoft.Reporting.WinForms.ReportDataSource(DataSet1, dt()));
this.reportViewer1.RefreshReport();
}
private DataTable dt()
{
// 创建一个新的DataTable并添加列和行
DataTable table = new DataTable();
table.Columns.Add(DataColumn1, typeof(string));
table.Columns.Add(DataColumn2, typeof(string));
table.Columns.Add(DataColumn3, typeof(string));
table.Columns.Add(DataColumn4, typeof(string));
// 添加额外的列和行,这里新增了DataColumn5
table.Columns.Add(DataColumn5, typeof(string));
for (int i = 0; i < 5; i++)
{
DataRow row = table.NewRow();
// 填充数据
row[DataColumn1] = qwe1 + i.ToString();
row[DataColumn2] = qwe2 + i.ToString();
row[DataColumn3] = qwe3 + i.ToString();
row[DataColumn4] = qwe4 + i.ToString();
// 填充新增的列
row[DataColumn5] = qwe5 + i.ToString();
table.Rows.Add(row);
}
return table;
}
```
以上代码实现了向ReportViewer控件动态加载自定义的数据表。