最近使用了ReportView控件绑定数据,总结下:
1.在设计器上托一个ReportView控件,在后台代码自动生成:
private void ReportViewForm_Load(object sender, EventArgs e)
{
this.reportViewer1.RefreshReport();//执行这句话才会把报表的数据显示出来
}
2.rdlc文件的设置
参数设置:参数设置好之后,还需要编写代码如下:设置参数
List<ReportParameter> param = new List<ReportParameter>();
param.Add(new ReportParameter("DeviceID", "设备的ID"));
param.Add(new ReportParameter("DeviceName", "设备名称"));
reportViewer1.LocalReport.SetParameters(param);
若要在rdlc设计器上托放一个表,最好在工程中添加一个数据集文件,设置好数据集文件的名字和相关字段,
这样在rdlc设计器上给表的字段绑定数据的时候可以去直接的选择,还需要写代码:
reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("Alarms_DataTable", tb));
最后的代码:
private void ReportViewForm_Load(object sender, EventArgs e)
{
DataTable tb = new DataTable();
reportViewer1.Clear();
List<ReportParameter> param = new List<ReportParameter>();
param.Add(new ReportParameter("DeviceID", "设备的ID"));
param.Add(new ReportParameter("DeviceName", "设备名称"));
this.reportViewer1.LocalReport.ReportEmbeddedResource = "WinApp.Report1.rdlc";
reportViewer1.LocalReport.SetParameters(param);
reportViewer1.LocalReport.DataSources.Add(new ReportDataSource("Alarms_DataTable", tb);
//注意:Alarms_DataTable 这个名称是在添加数据集时候的数据集的名称
this.reportViewer1.RefreshReport();//一定要执行这句话才会显示报表的
}