【问题标题】:Crystal Reports group header suppression formula doesn't workCrystal Reports 组标题抑制公式不起作用
【发布时间】:2011-05-02 10:53:11
【问题描述】:

我有一份按两个代码分组的报告,我们称它们为 ParentChild

在每一页的顶部,在页眉中,我想打印父名称。

报告中有许多列,当分组中断时,我想再次显示新的子名称以及列标题。报告应如下所示:

Parent Name
    Child Name
    Col1 Col2 Col3 Col4 Col5 Col6
    XXXX XXXX XXXX XXXX XXXX XXXX
    XXXX XXXX XXXX XXXX XXXX XXXX

    Child Total:             XXXX

    Child Name
    Col1 Col2 Col3 Col4 Col5 Col6
    XXXX XXXX XXXX XXXX XXXX XXXX

但是,如果子组环绕到新页面,我想在再次显示数据之前重新显示子名称和列标题。

为此,我创建了一个包含以下对象的页眉:

Parent Name
    Child Name
    Col1 Col2 Col3 Col4 Col5 Col6

页眉中有一个变量RowReset,其中包含以下公式:

WhilePrintingRecords;
Shared numberVar nRowCount := 0

然后,在每个详细信息行以及 Group Footer 1 和 Group Footer 2 部分中,我有以下RowIncrement 公式:

WhilePrintingRecords;
Shared numberVar nRowCount := nRowCount + 1;

最后,在每个 Group Header 2 部分,我有以下条件抑制公式:

WhilePrintingRecords;
Shared numberVar nRowCount;
IF (PageNumber <> 1) AND (nRowCount = 0 OR nRowCount = 0.00) THEN
    True
ELSE
    False

如果我们在一个全新的页面上,并且还没有打印任何详细记录,这会尝试抑制子组标题,以防止发生以下情况:

Parent Name                          ---+
    Child Name                          +-- Page header
    Col1 Col2 Col3 Col4 Col5 Col6    ---+

    Child Name                       ---+-- Group header 2
    Col1 Col2 Col3 Col4 Col5 Col6    ---+

出于某种原因,我无法弄清楚,报告大约有 40 页,但我完全明白;一个页眉记录,后跟一个组页眉 2 记录。如果我创建一个包含条件抑制公式的公式,它会显示TRUE,但组标题仍然不抑制。

如果我分解代码以便它只检查一个条件(PageNumber &lt;&gt; 1nRowCount = 0),那么 Group Header 2 会正确抑制。

我什至尝试过这样做:

WhilePrintingRecords;
Shared numberVar nRowCount;
booleanVar bSuppress:= False;

IF PageNumber <> 1 THEN bSuppress:= True;
IF (bSuppress) THEN (IF nRowCount = 0 THEN True ELSE False);

在屏幕上显示时也会显示True,但无法抑制组头。

我到底做错了什么?我可以采取更好的方法吗?

【问题讨论】:

    标签: crystal-reports crystal-reports-8.5


    【解决方案1】:

    我建议将“父名称”字段放在自己组的组头中,而不是页头中。然后,在父组和子组中,选中组选项对话框中的“在每页上重复组标题”复选框。

    【讨论】:

    • 你知道,这真的很尴尬——不知何故,我从未注意到“组选项”对话框中的复选框。我在格式组选项中寻找类似的东西。它仍然没有解释为什么代码不起作用,但我很高兴继续前进。谢谢!
    • 我很高兴它对你有用。在某些情况下,我使用了像你一样的变量,内置属性并没有完全消除它,让它正常工作总是一场噩梦。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-27
    • 2014-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多