首页 文章

抑制没有数据和 Headers 的子报表

提问于
浏览
13

我有一个相当简单的子报表,我想在没有为它选择记录时抑制它 . 问题是我有这个子报表的页眉和页脚部分,其中包含静态元素(文本框,行等) . 我已经设置了包含子报表,子报表本身和子报表中的部分的部分,当没有记录时,所有部分都被压缩 . 然而,无论如何,子报告都出现了 . 确实抑制了没有数据的数据部分,但页眉和页脚似乎保持子报表可见 .

有任何想法吗?哦,我正在运行Crystal-Reports 2011.谢谢!

3 回答

  • 0

    我在CR2008中遇到过这个问题 . 以下是我为完成此项工作所采取的步骤:

    • 进入你的子报告(我的意思是让它在自己的设计器窗口中打开) - >进入'File'菜单下的'Report Options' - >选择'Suppress printing if no records'

    • 现在返回主报告 . 右键单击子报表 - >转到'Format Subreport' - >点击'Subreport'选项卡 - >选中'Suppress Blank Subreport'复选框 .

    • 如果子报表是主报表部分中的唯一内容,请通过右键单击'Section Editor'进入该部分 - >选中'Suppress Blank Section'复选框 .

    编辑:如果你的子报告确实返回记录,但只是没有显示,那么尝试使用共享变量 . 为此,您需要考虑首先用于在子报表中显示记录的逻辑 . 这可能是详细信息部分抑制公式中的任何逻辑,但它在很大程度上取决于您的特定子报表的格式 .

    现在,在子报表的报表头中初始化共享的numbervar,然后在每次使用上述逻辑显示行时将其递增 .

    回到主报表中,您可以检查该变量的值,以便在查看抑制公式之前有条件地抑制子报表's section. I say 2746623 because CR may not evaluate the subreport' s变量,但要给它一个旋转 . 您需要在节抑制公式中使用 whileprintingrecords; 关键字来延迟其评估 . 祝好运!

  • 19

    你尝试过使用抑制配方吗?

    右键单击 Format Field >检查 Suppress >单击编辑公式 [x-2] 按钮

  • 0

    很难跟踪帖子中的所有内容,但如果数据相互碰撞,则添加一个部分并将子报告放在该部分中,并确保检查是否可以增长 .

    如果您要显示静态数据,则可能需要创建2个子报告,一个包含静态数据,另一个包含动态数据,如果空白则禁止显示 .

相关问题