当子报表中没有返回记录时,Crystal 报表子报表显示替代文本

sam*_*sam 1 crystal-reports

子报表中没有返回记录时如何显示替代文本?

例如,如果子报表中没有返回记录,我想显示“-”,谢谢

jac*_*jac 5

您的报告中需要 2 个详细信息部分。在 1 中放入您想要在有记录时显示的内容。右键单击同一部分并选择“部分专家...”。选中Suppress Blank Section复选框,以便在没有任何显示时抑制此部分使用的空间。在其他详细信息部分添加一个公式,用于打印没有记录时要显示的内容。在您的示例中,这将是“-”。创建另一个计算记录的公式并将其命名为 RecordCount。

WhileReadingRecords;

NumberVar RecordCount := RecordCount + 1;
Run Code Online (Sandbox Code Playgroud)

将此公式放在报告的详细信息部分并隐藏它。将它放在哪个详细信息部分并不重要。最后,右键单击将在没有记录时显示的同一部分选择Section Expert...。单击Suppress (No Drill-Down)的公式按钮并添加此公式...

Not Isnull ({@RecordCount})
Run Code Online (Sandbox Code Playgroud)

您可以看到您只是在检查公式本身是否为空,因此公式中的代码并不是那么重要,但我喜欢让它有用,以防我想在报告的其他地方使用它。

现在,当您有记录时,第二个详细信息部分被隐藏,第一个详细信息部分显示您的数据。当您没有记录时,它会反转并显示第二个详细信息部分,而隐藏第一个详细信息部分。