1 关于RDLC
1.1 概述
在VS .NET 2005中,Microsoft提供了针对报表的设计器,并提供了在WinForm和WebForm中使用这种报表的能力。Microsoft将这种报表的后缀定为RDLC,RDL仍然是Report Definition Language的缩写, C代表Client-side processing,凸显了它的客户端处理能力。
1.2报表的设计
1)添加报表设计文件
添加一个web项目,在项目文件中添加新项,选择报表,如图:
2)添加数据集
此报表在设计过程中需要一个Dataset数据集,当添加了报表项之后,将自动添加一个Dataset 数据集(也可以手动添加一个数据集),并进行配置向导链接到一个数据源。可以利用数据源生成向导中进行定制需要查询或返回的结果集的字段,并最终生成一个Dataset结果集。如图:
决定报表结果的关键因素是里面包含的DataTable,此数据集可以实现自定义,可以添加相应的数据字段来满足相应的要求。
3)报表设计
打开报表设计页,并在工具箱中找到相应的设计控件,如图所示:
如图所示,表头、详细信息和表尾。表头用于设计要显示出来的表头名称,详细信息则是显示报表的详细内容,而表尾可以用来进行对详细信息的一个统计,例如 总行数,总价格,最大数等等。
报表内容设计:
选择数据集Dataset,将对应要显示出来的字段拖入到详细信息行中,就自动进行了相关数据的绑定关联。如图所示:
自定义表头,将要显示的字段拖入到对应的表头下面,则完成了报表的初步设计。可以进一步设计报表的背景色,字体,以及每列宽度等。
2 关于ReportViewer
2.1 如何装载设计好的RDLC报表文件
添加一个新的web页面,选择工具箱中的ReportViewer控件,拖入到web页面中。
点击控件右上角小三角形进行报表文件的关联,在选择报表下拉框中选择上面介绍的报表文件即可。如图:
2.2 如何绑定数据源
1)绑定数据源
若在之前设计报表的时候没有保留想到自动生成的Datasource,则在该操作中要自定义一个数据源。此数据源与之前定义的数据集中的Datatable中的字段对应即可。
如下:在后台代码中定义方法LoadReport
private void LoadReport(DataTable dt)
{
ReportDataSource rds = new ReportDataSource("DataSet1_Customers", dt);
// DataSet1_Customers为之前添加的数据集以及对应的数据包,dt就是我们自定义的数据源
ReportViewer1.LocalReport.ReportPath = "Report.rdlc";
//此处就是对应要关联的报表,当然在前台设计的时候也可以直接选择
ReportViewer1.LocalReport.DataSources.Clear();
ReportViewer1.LocalReport.DataSources.Add(rds);
ReportViewer1.LocalReport.Refresh();
}
2)传递参数
报表设计的时候也可以实现参数的传递,例如报表名称,打印人等等。
在报表设计页面之外的空白处点击鼠标右键,选择“报表参数”,添加相应的要添加的参数,将出现如下图示:
在报表设计页面中拖入一个文本框控件,鼠标单击右键选择“fx表达式”,并在参数项目中选择所要绑定的参数,如图所示:
接下来实现如何传递参数的值到报表中,再后台代码中定义方法,LoadParam():
private void LoadParam()
{
ReportParameter[] param = new ReportParameter[1];
param[0] = new ReportParameter("Report_Parameter_0", "Report's Name");
ReportViewer1.LocalReport.SetParameters(param);
}