水晶报表自动补空行
来源:互联网 发布:geek软件 编辑:程序博客网 时间:2024/04/30 05:50
之前我在原来的基础上构造了数据,现在A组数据有8条数据,B是10条,C,D均少于5条,E刚好5条
1、首先我们画出模板,假设你也是显示5行,那么,就用一个详细资料节,然后,将组页脚拆分成4个
本例中,因为使用了一个固定的页脚显示合计,所以是拆分成5个的,最后一个节固定显示
这里使用了一个运行时总计字段 ,用以跟踪每条记录在组中的序号,组变更时,记录重新编号,用途在后面的说明。
为了直观些,我把这个字段拖到了界面上,实际操作时,你可以将这个字段抑制显示掉
模板中的红字是为了显示得更直观加上去的,实际使用时删除掉即可。
思路是这样的,如果一组数据,除以5剩余的部分,肯定是1、2、3、4,分别处理这几种情况
当剩余4条的时候,显示组页脚a,3的时候显示b,2的时候显示c,1的时候显示d,补满。
对于刚好5条的情况,在后面说明
特别注意:画线的问题。如果你不注意此接,你会注意到,你的线可能会乱七八糟
请注意!在出现分组的情况,或者需要根据需要进行运行时抑制显示控制时,务必将竖线,控制在一个节内,不可跨接。
注意竖线的节点只能出现在自己所在节的两个边界内,不可出现在边界外!
本文中的例子我偷了点懒,因为我知道什么时候会出问题什么时候不会,如果你不确定,请依照以上规则
2、分页控制
本例子有两种分页控制,一种是组分页,一种是一组数据大于5条时,每5条的分页
组分页可以在组页眉和组页脚上设置,本文中组页脚承担了另外的补空格任务,所以分页在组页眉上
增加一个公式
groupnumber mod 1=0
即每一个分组都换页
然后在详细资料节上设置公式,使每5条分一页
//此处需要注意
//因为我们在分组上已经加了一个分页了,这里是组内的辅助分页
//
//如果记录是5的倍数,则是分页时机,但是要另外注意
if {#RTotal0} mod 5 =0 then
//如果此时是组内的最后一条记录,则此处不进行分页,因为会有一个组分页替换该
if Count ({材料采购明细.材料名称}, {材料采购明细.品牌}) ={#RTotal0} then
false
else
true
else
false
Count ({材料采购明细.材料名称}, {材料采购明细.品牌}) 表示按组品牌分组后每组的记录个数
{#RTotal0} 表示当前的记录需要
用以跟踪每组的最后一条记录,用以处理如果刚好是5的倍数的时候,出现详细资料节与组出现重复分页的情况
3、设置补充行显示,以组页脚a为例子,当之前显示4条,需要补充1个空行时,此节显示
//组的最后一条记录
if Count ({材料采购明细.材料名称}, {材料采购明细.品牌}) mod 5>0 and Count ({材料采购明细.材料名称}, {材料采购明细.品牌}) mod 5<=4 then
false
else
true
- 水晶报表自动补空行
- 水晶报表自动补空行,补格线思路
- 水晶报表自动补空行,补格线
- 水晶报表自动补空行及格线(无分组版)
- 《水晶报表自动补空行,补格线思路》 修正版 兼答Richard lee
- 阿泰水晶报表补空行(分组)
- 水晶报表自动换行
- 水晶报表自动换页
- mysql 查询补空行,提供给报表输出
- 补: ASP.Net中使用水晶报表!
- 水晶报表字段自动换行
- 水晶报表的自动换行
- 水晶报表字体自动缩小
- 润乾V5行式填报表自动插入空行
- 水晶报表:交叉表页内自动“换行”
- 水晶报表设置字段自动换行
- 水晶报表的交叉表缺口补全
- 水晶報表分頁與空行
- 阿里巴巴招聘系统架构师要求
- The first semester in PKU
- 操作符函数查找
- 帮同事写的一个C
- 辉的故事
- 水晶报表自动补空行
- 我就不明白了
- Siverlight 老是导致IE Crash? 关掉金山词霸屏幕取词!
- 信息爆炸时代,用户体验真是无处不在
- 你的网站是热还是冷?
- 程序员的命啊!
- 可怕的迅雷
- 1001 A + B Problem
- 1002 Fire Net