在特定部分显示页面标题 - Crystal Report

时间:2012-04-05 11:47:04

标签: crystal-reports reporting

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

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

我正在尝试仅在 Group2 开始的页面中显示页眉。 我只在第一页跳过页面标题。

在水晶报告中是否可能?

由于

修改

这就是报告目前的样子

enter image description here

3 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

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

PageNumber=1

答案 2 :(得分:0)

我需要做类似的事情,但需要花些时间让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”公式还设置了一个在公共页脚中使用的字符串。)

希望这有帮助!