如果另一个子报表没有任何行(没有返回任何行),是否有办法显示一个子报表。
我尝试了什么:
在我的第一个子报告中,我返回了已处理行的数量" REPORT_COUNT"掌握报告变量" SUBREPORT_VAR"。变量" SUBREPORT_VAR"尽力而为。我向master报告和输出变量添加了额外的文本字段。我将文本字段的评估时间设置为 Band ,因为没有它,它无法正常工作。
此外,我设置了选项" Print When Expression"第二个子报告:
$ V {SUBBREPORT_VAR}< 1
我使用jasper studio 5.5.0 final。
答案 0 :(得分:0)
如果没有行计数,则结果不为null。
如果是这样,您可以在第二个子报表中表达时在打印中使用它:
$V{SUBBREPORT_VAR}==null
另一个选项是在主报表中运行查询并将其用作子报表表达式:
IF($F{SOME_VAR_FROM_YOUR_QUERY}==null,subreport2.jasper,subreport1.jasper
当SOME_VAR_FROM_YOUR_QUERY
返回null时,如果不打印subreport1,则打印subreport2。