Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Crystal reports Crystal Reports组标头抑制公式不适用';行不通_Crystal Reports_Crystal Reports 8.5 - Fatal编程技术网

Crystal reports Crystal Reports组标头抑制公式不适用';行不通

Crystal reports Crystal Reports组标头抑制公式不适用';行不通,crystal-reports,crystal-reports-8.5,Crystal Reports,Crystal Reports 8.5,我有一份按两种代码分组的报告,我们称它们为Parent和Child 在每页的顶部,在页眉中,我想打印父名称 报告中有许多列,当组中断时,我希望再次显示新的子名称以及列标题。报告应如下所示: Parent Name Child Name Col1 Col2 Col3 Col4 Col5 Col6 XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX XXXX Child Total:

我有一份按两种代码分组的报告,我们称它们为
Parent
Child

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

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

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
页眉中有一个变量
rowsete
,它包含以下公式:

WhilePrintingRecords;
Shared numberVar nRowCount := 0
然后,在每个细节行以及组页脚1和组页脚2部分中,我有以下
RowIncrement
公式:

WhilePrintingRecords;
Shared numberVar nRowCount := nRowCount + 1;
最后,在每个组头2部分中,我有以下条件抑制公式:

WhilePrintingRecords;
Shared numberVar nRowCount;
IF (PageNumber <> 1) AND (nRowCount = 0 OR nRowCount = 0.00) THEN
    True
ELSE
    False
由于某种原因,我无法理解,在报告的40页左右,我得到了确切的答案;页面标题记录,后跟组标题2记录。如果我创建了一个包含条件抑制公式的公式,它将显示
TRUE
,但组标题仍然不抑制

如果我分解代码,使其仅检查其中一个条件(无论是
PageNumber 1
还是
nRowCount=0
),则组头2将正确抑制

我甚至尝试过这样来打破局面:

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

IF PageNumber <> 1 THEN bSuppress:= True;
IF (bSuppress) THEN (IF nRowCount = 0 THEN True ELSE False);
打印记录时;
共享号码nRowCount;
booleanVar bSuppress:=假;
如果页码为1,则b支持:=真;
如果(b支持),则(如果nRowCount=0,则为真,否则为假);
当显示在屏幕上时,它也会显示
True
,但无法抑制组标题


我到底做错了什么?有更好的方法吗?

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

你知道,这真是令人尴尬——不知何故,我从未注意到“组选项”对话框中的复选框。我在格式组选项中寻找类似的内容。它仍然不能解释为什么代码不起作用,但我很高兴继续。谢谢我很高兴它对你有用。我使用了一些变量,就像您在某些情况下所做的那样,在这些情况下,内置属性并没有完全减少它,而让它正常工作总是一场噩梦。
WhilePrintingRecords;
Shared numberVar nRowCount;
booleanVar bSuppress:= False;

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