抑制没有数据和标题的子报表

时间:2012-09-19 17:32:20

标签: crystal-reports

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

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

4 个答案:

答案 0 :(得分:19)

我在CR2008中遇到过这个问题。以下是我为完成这项工作所采取的措施:

  1. 进入您的子报告(我的意思是让它在自己的设计器窗口中打开) - >进入“文件”菜单下的“报告选项” - >选择'如果没有记录则禁止打印'
  2. 现在回到主报告中。右键单击子报表 - >转到'格式子报表' - >点击“子报告”标签 - >选中'Suppress Blank Subreport'复选框。
  3. 如果子报表是主报表部分中的唯一内容,请右键单击“部分编辑器”中的该部分 - >选中'抑制空白部分'复选框。
  4. 编辑:如果你的子报告确实返回了记录,但只是没有显示,那么尝试使用共享变量。为此,您需要考虑首先用于在子报表中显示记录的逻辑。这可能是详细信息部分抑制公式中的任何逻辑,但它在很大程度上取决于您的特定子报告的格式。

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

    返回主报表,您可以检查该变量的值以有条件地抑制子报表的部分。我说“可能”因为CR可能不会评估子报告的变量之前来查看抑制公式,但是给它一个旋转。您需要在区段抑制公式中使用whileprintingrecords;关键字来延迟其评估。祝你好运!

答案 1 :(得分:0)

您是否尝试过使用抑制公式?

右键点击格式字段>检查抑制>点击修改公式 [x-2] 按钮

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

将SubReport放入节中,然后右键单击Section => Section Expert 然后如下图所示在通用选项卡中检查“ Supress Blank Section”是否为真。 enter image description here