RDLC报表使用教程(VS2019+Asp.Net(C#)+iframework)

admin2025-09-05 21:41:439908

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.疑难问题注意事项

如果报表需要传入参数,那么报表设计完成后,需要按照如下方式修改: