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

Dan*_*ung 13 crystal-reports

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

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

Rya*_*yan 20

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

  1. 进入你的子报告(我的意思是让它在自己的设计器窗口中打开) - >进入"文件"菜单下的"报告选项" - >选择"如果没有记录则禁止打印"
  2. 现在回到主报告中.右键单击子报表 - >转到"格式子报表" - >点击"子报表"选项卡 - >选中"抑制空白子报表"复选框.
  3. 如果子报表是主报表部分中的唯一内容,请右键单击"部分编辑器"中的该部分 - >选中"抑制空白部分"复选框.

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

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

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