1

我有一个类似于此的报告结构

Report Header
    --Cross Tab
Page Header
   --Header
Group Header1
   --Cross Tab
Group Header2
   --Details

我试图仅在Group2开始的页面中显示页眉。我只在第一页跳过了页眉。

水晶报表里可以吗??

谢谢

编辑

这就是报告目前的样子

在此处输入图像描述

4

3 回答 3

1

这只是我的直觉,但我认为如果不对报告进行一些其他修改,这是不可能的。Crystal 直到最后一次才确定部分的位置,这也是您可以强制公式评估的最新版本,但是报告标题抑制公式将在 GH2 中的任何公式之前进行评估。换句话说,只要您在页面上打印了可变大小的部分,Crystal 就无法在页眉打印期间知道 GH2 是否会出现在该页面上。

我能想到的唯一解决方案是为任何可能的页面布局抢先处理它。例如,一种方法是将 GH2 设置为始终从新页面开始(通过“New Page Before”),并选择性地抑制介于 GH1 和 GH2 之间的任何页眉(通过设置为“whileprintingrecords”的布尔变量)在 GH1 中,在 GH2 中未设置)。不过,可能还有其他更清洁的方法可以做到这一点。

编辑:这样做的动机是什么(页面布局细节会有所帮助)?可能有一种不涉及解决这个确切问题的方法。

于 2012-04-05T16:37:01.023 回答
1

我需要做一些类似的事情,但要让 Crystal 做我想做的事需要花些功夫。

我的基本挑战是在报告的每个“部分”的开头显示一个“大”页眉,然后切换到所有其他页面的单行页眉。

PHa 具有大标题。在 Section Expert 中,点击条件 Suppress,添加以下代码:

Shared numbervar big_header;
big_header = 0; //suppress if big_header is off

PHb 具有单行标题。在 Section Expert 中,点击条件 Suppress,添加以下代码:

Shared numbervar big_header;
big_header = 1; //suppress if big_header is on

对于每个报告部分,创建一对公式(您不能重复使用它们,您必须为每个公式创建一对),一个将 big_header 设置为 1,一个将其设置回 0。

shared numbervar big_header;
big_header := 1; //turn on big_header


shared numbervar big_header;
big_header := 0; //turn off big_header

将打开 big_header 的那个放在其他空白的详细信息部分(或组 - 应该可以工作,尚未测试),格式化要抑制的公式,如果它不是第一个,则格式化该部分以在之前有一个新页面在报告(分页选项卡)上并抑制空白部分。

在下一个详细信息(组)部分(应在报告上显示内容)中,放置关闭 big_header 的公式。再次,格式化要抑制的公式。

根据需要重复。(我的“打开 big_header”公式还设置了一个用于公共页脚的字符串。)

希望这可以帮助!

于 2015-04-23T21:45:41.923 回答
0

如果您需要抑制第一页上的页眉部分,请将此文本添加到页眉的条件抑制公式中:

PageNumber=1
于 2012-04-05T12:28:47.917 回答