1.新建数据集,右击添加DataTable,快捷键ctrl+L新增列,列名可自定义。
2.新建报表,点击页面空白处,视图->Report Data,打开报表数据;右击数据集,添加数据集,自定义名称,数据源选上一步定义的数据集,右边可看见该数据集的字段属性。
3.新建web窗体,在工具箱->报表,将ReportViewer控件拖入页面空白处,选择需要需要的报表;在后台增加数据;加载时,若报表不能正常显示,加一句“ <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>”试试。
4.报表分页:
- 工具箱中拖一个列表过来,设置 列表-->行组-->组属性,常规-->组表达式=Int((RowNumber(Nothing)-1)/10),分页符-->勾选在组的结尾,然后拖一个表控件在列表中;
如果要对矩阵设置分页,先在sql语句中添加序号列: select ROW_NUMBER() OVER (ORDER BY LS_Index ASC) AS XUHAO,* from MaterialData,组表达式=Floor((Fields!XUHAO.Value-1)/10)。
选中要修改的报表按F4 ,将下拉列表中的【主体】换选中【报表】
选择【报表】后就出现了ConsumeConteinerWhitespace 的属性,默认是false,改成True即可解决空白行的问题
- 分页实例:rdlc报表 矩阵控件下的按组分页
5.报表颜色设置:右击单元格->文本框属性->填充->填充颜色
- 表:iiF(Previous(Fields!r.Value)=Fields!r.Value,"transparent","red")
- 矩阵:=iiF(Previous(First(Fields!r.Value))=Fields!r.Value,"transparent","red")
- 矩阵隔行变色:=iif(ReportItems!XUHAO.Value mod 2,"transparent","LightGoldenrodYellow")
6.当然,微软是有教程的,就是太难打开了:
- 表达式示例
https://msdn.microsoft.com/zh-cn/library/ms157328.aspx#ReportFunctions
- 内置集合
https://msdn.microsoft.com/zh-cn/library/ee240847(v=sql.120).aspx
- 网友简易版:rdlc报表表达式应用(字符串和转换)
7.合并单元格:选中行组->组属性->高级->递归父级->确定,在新增的父级中,右击->组属性->常规->分组方式,选择分组依据。
8.隐藏列:要把列组a的子组b隐藏起来,在子组b的组属性中设置可见性。
9.查看属性快捷键:F4