水晶报表组头抑制公式不起作用
-
27-09-2019 - |
题
我有一份报告,由两个码组,我们会打电话给他们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
在页标头是包含下式的可变RowReset
:
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
这是什么尝试做的是抑制儿童组头,如果我们是一个全新的页面上,并没有详细记录已打印的是,以防止以下情况发生:
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 <> 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);
它也显示在画面上显示时True
,但不能抑制组头。
这到底我做错了吗?有没有更好的办法,我可以走?
解决方案
我建议把在自己组的组头中的“父名称”字段,而不是在页头。然后,在这两个父和子组中,选择“重复组头在每页”复选框在组选项对话框。
不隶属于 StackOverflow