VS2010报表的表控件如何实现分页打印

Jerry-He 2010-09-26 03:32:03
我创建了一个报表(.rdlc),里面放有一个表控件,那我如何设置才能对表里的组进行强制分页, 比如一共100条记录,每页只显示10行,而且所有页都需要将表头打印出来(即表头重复打印)。
本人也在网上找了一些方法
比如设置组属性里的组表达式:=Int((RowNumber(Nothing)-1)/10)
但每一页只显示分页后的第一条记录,其他9条记录没出来,而且分页后还有空白页的出现,不知道什么原因,望高手指教!
...全文
1103 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
fantastic300 2012-08-22
  • 打赏
  • 举报
回复
感谢楼主,答案这么详尽。而且都是自己实践过的,非常有用
dmstudy 2011-12-05
  • 打赏
  • 举报
回复
确实佩服楼主,不像有些人就知道copy一下别人的答案,实际上管不管用,试都没有试过
simon1974 2011-11-12
  • 打赏
  • 举报
回复
佩服hejinhui1314认真负责的态度,不仅解决自己的问题,还能通过自己的实例指导别人,谢谢!
pokka 2010-09-30
  • 打赏
  • 举报
回复
非常感谢楼主!
雷肿么了 2010-09-27
  • 打赏
  • 举报
回复
rdlc 是好东西,我现在用得很不熟.也遇到了楼主这样的问题.
Jerry-He 2010-09-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 luols 的回复:]
引用楼主 hejinhui1314 的回复:
所有页都需要将表头打印出来(即表头重复打印)
选中表头那一行,在属性框里有一个RepeatOnNewPage,默认是False,改为True
[/Quote]

我勾上了,但没有效果,是不是我设置分页的原因啊?而且我分页每页10条的,但都只显示出一条
crackdung 2010-09-27
  • 打赏
  • 举报
回复
用 FastReport.Net 吧,很好的。每月都有增加功能的




my blog
http://ufo-crackerx.blog.163.com/
Jerry-He 2010-09-27
  • 打赏
  • 举报
回复
最后记录一下:关于打印分页数据最后多出一页空白页的问题

只要把报表主体的高度和所要打印的列表或表单高度一样(使两者的底部重合即可),这样打印出来就不会出现空白页了

再次感谢luols,也谢谢他朋友的回复

终于也把报表的事情忙完了,结贴!
阿双2009 2010-09-27
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 hejinhui1314 的回复:]
在网上搜了好长时间,终于被我找到以上两个问题的解决方法,在次记录一下解决方法,免的大家为这些问题浪费时间和精力

问题1解决方法:

公式:=Sum(Fields!数量.Value) 这样的格式在分组中,就是求组小计,
在不是分组的情况下,就是合计。

而自动生成的语句是用的:=Sum(Fields!数量.Value, "DataSet_Name")
这条是自动生成的无论有没有……
[/Quote]
Jerry-He 2010-09-27
  • 打赏
  • 举报
回复
在网上搜了好长时间,终于被我找到以上两个问题的解决方法,在次记录一下解决方法,免的大家为这些问题浪费时间和精力

问题1解决方法:

公式:=Sum(Fields!数量.Value) 这样的格式在分组中,就是求组小计,
在不是分组的情况下,就是合计。

而自动生成的语句是用的:=Sum(Fields!数量.Value, "DataSet_Name")
这条是自动生成的无论有没有分组的情况下,都是所有记录的合计

问题2解决方法

这个主要是报表设计时宽度过大引起的,你可以在报表设计区域右键-->报表属性 查看纸张设置的大小及边距设置(A4 宽:21cm 高:29.7cm),然后调整表体及表单不要超过该大小即可,多调整几次,应该就没啥问题了
Jerry-He 2010-09-27
  • 打赏
  • 举报
回复
luols 你好,非常感谢你的回复

我还有两个问题想请教一下你

问题1. 我在表中有一个字段[数量]是需要合计的,我用SUM(数量),合计出来的是所有记录数(100条记录)

的数量总合,我想只合计当前页记录数的数量小计,我该如何设置?

问题2. 我分页后,每页分页后面都跟有一个空白页,这个如何去掉?
Jerry-He 2010-09-27
  • 打赏
  • 举报
回复
问题已解决,方法如下:
VS2010下报表设计

1. 工具箱中拖一个列表过来,设置 列表-->行组-->组属性
常规-->组表达式=Int((RowNumber(Nothing)-1)/10)
分页符-->勾选在组的结尾
2. 工具箱中拖一个表,放在列表中,然后可以对表进行随意设计,表中分组就会自动按照10条一页进行分页,标题也会在新页中被重复打印了
阿双2009 2010-09-27
  • 打赏
  • 举报
回复
你这里分组了,组头那一行设置了没?
阿双2009 2010-09-26
  • 打赏
  • 举报
回复
[Quote=引用楼主 hejinhui1314 的回复:]
所有页都需要将表头打印出来(即表头重复打印)[/Quote]
选中表头那一行,在属性框里有一个RepeatOnNewPage,默认是False,改为True

4,815

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧