最近公司做项目要用到RDLC报表,站在前人的肩膀上学习了一下RDLC报表的实现方法,控件的数据源的建立我就不陈述了,网上有很多前人写的资料供学习。我在这篇博客里要记录的主要是报表按页汇总数据(每页展示25行数据)的实现方法。我的报表中用到的数据库是微软的NorthWind示例数据库。
1、首先设计出如下的打印模板

为表格中的每行数据添加序号的方法为:添加一列序号列,把文本框内的表达式置为=RowNumber(Nothing)。
2、选中展示序号值的单元格右击选择添加组——行组——父组,记住是行组不是列组。

3、默认按ProductID进行分组

4、添加分组后表格呈现如下样式

列名为ProductID,列值为绑定的ProductID字段,为了防止造成误解,我们将列名置空,列值单元格中的表达式为=Int((RowNumber(Nothing)-1)/25)。
5、右击单元格选择表达式,设置表达式为=Int((RowNumber(Nothing)-1)/25)

看一下预览效果



6、实现按页汇总即按页小计功能

右击单元格选择插入行——组内部-下方(看清楚是在刚才新建组的单元格内插入,千万不要在序号值单元格内插入行)
新建好后呈现如下样式

7、在小计所在行,种类编号列内的列值的表达式为=sum(Fields!CategoryID.Value),单价列内列值的表达式为=sum(Fields!UnitPrice.Value)
设置好后呈现如下样式

运行预览一下

嗯嗯嗯呃呃…好像并没有出现我们想要的效果…这是因为我们少做了非常关键的一步。
8、右击“小计”单元格,选择行组——组属性

9、分组方式文本框内的值置为=Int((RowNumber(Nothing)-1)/25)

10、设置好后预览一下看下效果




基本实现了我们想要的效果,但是换页时表头并不是每页固定,我们选择行组的高级模式进行设置让他换页时表头固定显示,点击行组中第一个静态行组,选中它按F4调出属性,将它的KeepWithGroup属性设为After,RepeatOnNewPage属性设置为true其他静态行组的属性不用设置了。

设置好后运行报表预览一下




这样就实现了我们按页汇总的效果了,我每页展示的数据行为25行,也可以设置为其他行数,这是分组表达式=Int((RowNumber(Nothing)-1)/行数)
RDLC报表实现页汇总和总合计
最新推荐文章于 2023-05-24 14:15:52 发布
本文详述了使用RDLC报表实现每页25行数据汇总的具体步骤,包括设计打印模板、添加序号列、设置分组及表达式、插入小计行等,最终实现报表按页小计功能。
3211





