我有一个相当简单的子报表,我想在没有为它选择记录时抑制它。问题是我有这个子报表的页眉和页脚部分,其中包含静态元素(文本框,行等)。我已经设置了包含子报表,子报表本身和子报表中的部分的部分,当没有记录时,所有部分都被压缩。然而,无论如何,子报告都出现了。确实抑制了没有数据的数据部分,但页眉和页脚似乎保持子报表可见。
有什么想法吗?哦,我正在运行Crystal-Reports 2011.谢谢!
答案 0 :(得分:19)
我在CR2008中遇到过这个问题。以下是我为完成这项工作所采取的措施:
编辑:如果你的子报告确实返回了记录,但只是没有显示,那么尝试使用共享变量。为此,您需要考虑首先用于在子报表中显示记录的逻辑。这可能是详细信息部分抑制公式中的任何逻辑,但它在很大程度上取决于您的特定子报告的格式。
现在,在子报表的报表头中初始化共享的numbervar,然后在每次使用上述逻辑显示一行时递增它。
返回主报表,您可以检查该变量的值以有条件地抑制子报表的部分。我说“可能”因为CR可能不会评估子报告的变量之前来查看抑制公式,但是给它一个旋转。您需要在区段抑制公式中使用whileprintingrecords;
关键字来延迟其评估。祝你好运!
答案 1 :(得分:0)
您是否尝试过使用抑制公式?
右键点击格式字段>检查抑制>点击修改公式 [x-2] 按钮
答案 2 :(得分:0)
很难跟踪帖子中的所有内容,但如果数据相互碰撞,则添加一个部分并将子报告放在该部分中,并确保可以检查增长情况。
如果您要显示静态数据,则可能需要创建2个子报告,一个包含静态数据,另一个包含动态数据,如果空白则禁止显示。
答案 3 :(得分:0)