我有一个复杂的报告打印在预打印固定,第一页需要一个短页脚,第二页页面较大的页脚,后续页面根本没有页脚。我的抑制规则工作正常,但是短页脚在与较大页脚相同的起点处被错误定位。
在Crystall 11中,无论哪个页脚显示/抑制,页脚都会从最大的页脚开始占据它们的起始位置?真的是这样吗?
答案 0 :(得分:1)
事实证明这就是Crystal工作的方式 - 它将为最大的页脚留出空间,无论该页脚是否被压制。那么你如何处理我听到你问的不同长度的页面?通过跟踪行计数器(通常在详细的子报表中),然后使用可配置的“New Page Before”
1)使用以下代码
创建一个新的公式字段WhilePrintingRecords; Numbervar linecounter:=linecounter + 1;
2)在详细信息中的新页面之前的公式中
WhilePrintingRecords; Numbervar linecounter; linecounter>YOUR PAGE LENGTH HERE
我通过首先将工作报告作为报告定义文件转储,查看文本然后找到神奇的公式来找到这个。显然我不是第一个,这里是useful link that describes the process
答案 1 :(得分:1)
好吧,我也有同样的问题。几天来,我试图找到解决这个限制的方法。
如果您可以操作提供报告的数据集,请添加col“PageGroup”;根据您的页面设置设置此col的值。例如,前20行为“FirstPage”,其余行为“OtherPages”。
在Crystal报表中使用“按页面组”分组;将第一页页脚放在此组中。编辑此组部分的抑制公式:CurrentPage> 1。
将报告页面页脚用于其他页面;你需要公式来在第一页上压制它。