二.使用RDLC提供的变量及常用常量 在RDLC报表中,有些你想得到的功能是用ASP.NET代码完成不了的,比如说这个报表总共有多少页,当前在第几页等等,这些功能我们就要借助RDLC表达式中自带的一些常量了,下面就让我们来谈谈这此常量。 1. 显示总共页数及当前页 a) 从Visual Studio IDE左边的ToolBox中拖两个TextBox到报表的页首。 b) 右击第一个TextBox,选择Expression…,在Expression窗口的Category中选择Globals,然后在Item中双击选择TotalPages,这个变量就是总共多少页,为了方便我们查看,我们把在上面显示的表达式进行修改如下: ="Total of "+Globals!TotalPages.ToString() c) 按上面的加入总页的方式,右击第二个TextBox选择Expression…,然后在选择Globals,接着选择PageNumber,这就是当前的页数,同样为了方便查看,修改如下: =" Total of "+Globals!PageNumber.ToString() 注意: 刚才我们选择总页数和当前页数的时候,是不是发现除了这两个还有好几个常量,现在解释如下:
2. 为RDLC报表中数据行增加自动编号 a) 为了完成这个功能,我们完成这个功能,现在我们为报表中已经存在的Talbe在最左边加一个字段叫S/N(这篇中没有讲表从哪里来,请参阅[原创] RDLC 报表系列(一) 创建一个报表)。 b) 还记得我当时给这个表绑定了一个数据集吗?选点右击表,选择Properties,从里面拷出那个数据集的名称。 c) 右击S/N的数据字段,选择Expression,在Expression的Category中选择Common FunctionsàMiscellaneous,然后双击右边Item中的RowNumber,在其参数中输入数据集的名称,如下所示: =RowNumber("RportDataSet_T_BC_LOGS") 三.常用表达式的使用 1. 连接字符 =Fields!FirstName.Value + Fields!LastName.Value 连接两个字段在一个单元格中,并一行显示 =Fields!FirstName.Value & vbCrLf & Fields!LastName.Value 连接两个字段在一个单元格中显示,但是换行显示 2. If表达式使用 =IIF(Fields!LineTotal.Value > 100, True, False) 如果成立执行True的表达式,否则执行False表达式,我可也可以写其它的表达式代替代码里的东西 3. Count表达式使用 =Count(Fields!DAILYCOUNT.Value,"WeldingReportDataSet_T_WelderDaily") 计算WeldingReportDataSet_T_WelderDaily数据集中DAILYCOUNT有多少行 3. Sum表达式使用 =Sum(Fields!DAILYCOUNT.Value,"WeldingReportDataSet_T_WelderDaily") 计算WeldingReportDataSet_T_WelderDaily数据集中DAILYCOUNT的总和 4. Format表达式使用 =CDate(Fields!TOPAINTDATE.Value).ToString("dd MMM yyyy") 对date的格式进行应用 六.总结 通过上面的内容,我们学习到如下内容: 1. 从ASP.NET传递参数到RDLC报表中 2. 掌握如何使用RDLC提供的常量; 3. 掌握如何使用常用的表达式 |