1、环境部署
- VS2019开发环境配置
在vs环境中,菜单扩展=>管理扩展
联机中搜索 RDLC,出现MicroSoft RDLC Report Designer,如下
安装完毕后,点击右键项目(Asp.Net Web应用程序)=>添加=>新建项,会出现 报表、报表精灵(报表向导),如下:
新建报表后,就直接可以进行RDLC报表开发。
Web.Config里面配置:
2.部署环境
安装 ReportViewer.exe,或者拷贝3个DLL,IIS基本就可以运行RDLC了。
2.RDLC设计
- RDLC本身是XML文件,可以通过C#代码自动生成报表;
- RDLC首先需要指定数据源,网络上基本是DataSet=>DataTable,实际应用开发中,只要是实现ICollection接口的对象都可以,这样,在整个软件开发过程中,不需要新建DataSet对象。
- RDLC设计,实际是绝对布局,默认是A4纸张,可以设置默认横向和纵向。
- RDLC有页头和页尾,页尾可以调用全局变量设置总共多少页,当前第几页。
- RDLC也支持套打(比如:纸张有固定格式)
-
RDLC数据源和数据集
菜单:选中RDLC某一个可编辑控件,点击菜单 视图=>报表资料
-
RDLC设计时,需要调出标尺,根据具体页面纸张大小设定,如果纸张内容过多,通常需要设置:
菜单:扩展=>报表=>报表属性
- 报表参数:直接在右边添加,名称和C#代码名称需要保持一致
-
报表参数,可以根据参数,在RDLC中进行相应的逻辑控制,比如:行可见性,列可见性,显示相应的内容转换。选中控件表的某一列,右键 行可见性:
以上图意思:如果参数Parameters!Color5.Value传入进来的值包含字符“Color”,那么该列属性Hidden=True,否则等于False
-
常用语法 IIF等于C#里面的If,可以对RDLC显示进行多种优化;比如:当某个数据为0,那么可以显示空字符,如:=IIF(CInt(Fields!ColorQty5.Value)=0,“”,Fields!ColorQty5.Value)
- 常规控件:文本框
绑定参数:选择文本框,点击右键=>表达式
绑定某个字段:
- 常规控件:表 选择表的详细信息行,右键=>Tablix属性,绑定数据集
也可以在此处设置 排序字段
表的分组:
选中表,菜单 扩展=>报表=>检视=>群组,下方显示如下:
每一个行组,可以点击右键,进行多次分组统计,分组方式可以多个字段,类似于Sql: group by,也可指定 排序方式。
分组的时候,尽可能 添加组头,添加组尾,利于后期设置相关统计信息,组头组尾行可以设置行可见性为隐藏。
3.Asp.NET(C#)示例代码
利用ReportViewer展示报表,另外控件自带导出功能(可以导出Excel,pdf,Word)。
3.1如何展示RDLC文件:
WebForm1.aspx:
关键属性:AsyncRendering=”false”(异步加载)
WebForm1.aspx.cs文件关键代码:
RDLC有两个数据集:ds_kp,ds_TopMain和RDLC设计文件对应。
3.2如何设置报表参数:
报表参数必须放在 ReportViewer1.LocalReport.Refresh();之前。
3.3如何加载子报表:
主报表:Report2.rdlc,子报表SubRpt1.rdlc,
Report2.rdlc设计页面如下:
SubRpt1需要设置如下:
1 ReportName属性
2 如何设置SubRpt1调用哪个RDLC文件
3传入到SubRpt1的参数(3个)
4.疑难问题注意事项
如果报表需要传入参数,那么报表设计完成后,需要按照如下方式修改: