以下面这个报表为例子:
该表中有16条数据,现在要进行过滤,仅显示2008年的数据,当然,可以通过在数据集时,对数据进行过滤,但此时,我们通过报表参数的形式对数据进行过滤.
1.打开Report.rdlc,选择报表-->报表参数,点击添加按钮.
2.名称定义为param_nf,数据类型选择Integer,提示随意,可以选择nf.
3.选择报表中的表格,选择"表属性",点击"筛选器".表达式中输入Fields!nf.Value,运算符选择=,值为Parameters!param_nf.Value,如图:
4.进入aspx页面,拖入reportviewer,配置localreport及相应的objectDataSource.
5.后台页面代码如下:
protected void Page_Load(object sender, EventArgs e) { ReportParameter paran_nf = new ReportParameter("param_nf", "2008"); ReportViewer1.LocalReport.SetParameters(new ReportParameter[] { paran_nf }); ReportViewer1.DataBind(); }6.运行,显示如下:
注意:
第2步,第3步,第5步中的变量param_nf要一致.否则,运行会出错.
此外,在页眉中,没有办法添加数据集中的参数,可以通过传递报表参数的方式,动态的设置页眉中的内容.
如图,表头中的年份是可以动态变化的.