Crystal reports 抑制crystal报表中的子报表

Crystal reports 抑制crystal报表中的子报表,crystal-reports,crystal-reports-2008,Crystal Reports,Crystal Reports 2008,我想抑制我的子报表,如果子报表中使用的某个字段为空,那么我需要它的公式,实际上,现在我可以基于仅在主报表中使用的字段抑制子报表,因此请提供解决方案,提前感谢。解决方案1: 1) 在子报表中创建公式。这是隐藏/显示子报表的条件。下面几行 WhilePrintingRecords; Shared Stringvar formulaName:= if (condition) then '1' else '0'; // you can use true /false as well 2) 在主报告上

我想抑制我的子报表,如果子报表中使用的某个字段为空,那么我需要它的公式,实际上,现在我可以基于仅在主报表中使用的字段抑制子报表,因此请提供解决方案,提前感谢。

解决方案1: 1) 在子报表中创建公式。这是隐藏/显示子报表的条件。下面几行

WhilePrintingRecords;
Shared Stringvar formulaName:= if (condition) then '1' else '0';
 // you can use true /false as well
2) 在主报告上创建另一个公式

 Shared Stringvar formulaName;
 formulaName
3) 然后使用此公式隐藏主报表上的子报表或节

注意:层次结构中的子报表必须高于调用变量的主报表中的公式,这一点很重要。我还建议建立“WhileReadingRecords”,这样可以确保它们同时进行评估。另外,作为一个调试帮助,在第一个公式的末尾添加“formulaName”,这样您就可以看到值是/应该是什么

解决方案2:如果不起作用,请创建子报表的副本,并将其放置在现有子报表上方的一个部分上,然后将其抑制。然后使用解决方案1