.Net RDLC报表
一、创建报表
可以通过Report或者Report Wizard创建报表
右键 Insert-->Table, 可以为插入的Table选择或创建数据源
我们也可以跳过这一步,暂且生成一个空报表,动态地为报表设置数据源,关于这个在后边会提到。
关于报表的创建,可以参考
二、报表数据源
?
添加DataSet数据源
在DataSet中新建一个TableAdapter,创建第一个DataAdapter时,会提示创建数据库连接。
当然,我们也可以不映射数据库中的字段,直接手动添加列,之后为这些DataSet复制,可以参考这里。
?
为Rdlc报表生成数据源
配置Rdlc的数据源,当然可以在为Rdlc创建Table时根据Wizard配置好:
右键Table-->Tablix Properties-->General-->Data Set Name
接下来就可以把DataSet中的字段往Table中拖拽或者直接编辑该列的Expression。
添加页眉和页脚,Report-->Add Report Header, Add Report Foo。
如果不能在每页都显示页眉或页脚,请在RDLC源码<KeepWithGroup>After</KeepWithGroup>后加上<KeepWithGroup>After</KeepWithGroup>,如:
报表的数据源还可以是某个类的方法,这个方法应该返回一个集合,可以参考这里,如:
?
插入ReportView控件
?
为报表的数据源初始化实例
点击上图的"ReportView Tasks"-->Choose Data Source
?
在弹出的Wizard中,选择“Object”,输入Data Source Id, 点击OK确认,此时可以选择在”报表数据源“中创建的TableAdapter。当然,我们可以通过代码来创建数据源,代码如下:
设置报表参数的值:
ExecutionTime
生成报表的时间
PageNumber
当前的页号
ReportFolder
包含报表的文件路径
ReportName
报表的名称
ReportServerUrl
执行报表Server的路径(这里没有用Server,所以没有,如果用ReportService那就就存在了)
TotalPages
总行数
UserID
当前执行报表的人
Language
执行报表Server的系统语言
显示页码:
显示行号:
在钻取报表中添加一个参数已接收主报表传递过来的参数,参数名和主报表传递给钻取报表的参数名相同。
捕获主报表的Drillthrough事件,实例化钻取报表的数据源,如:
参考:VS中RDLC报表分组的实现
九、在报表中插入图片
将图片复制到工程,右键“Report Data”视图中的Image,选择“Add”,将图片引入报表。之后便可以将图标拖到报表中,我们这里插入图片的方式为Embedded,参考这里。
?
十、阅读
蜡人张gotreportviewer
?