【问题标题】:Jasper Reports: do not render main report when subreports have no dataJasper Reports:子报表没有数据时不呈现主报表
【发布时间】:2011-07-15 00:04:43
【问题描述】:

情况 我有一个报告,其中包含一个标题和详细信息区域中的四个子报告。子报表通过查询数据库来获取数据。

要求 如果所有子报表都没有数据,那么我希望不生成主报表 - 类似于属性“无数据时”设置为“无页面”。

问题 每个子报表都选中了“空白时删除行”属性,因此每个子报表只有在有数据时才会打印。然而,在主报告中,查询文本是“从双重中选择 1”,因此它将始终打印。我想将其更改为依赖于子报表,这样如果所有子报表都没有数据,它将不返回任何内容,因此由于“无数据时”设置为“无页”,整个报表将不会打印。

【问题讨论】:

    标签: java jasper-reports


    【解决方案1】:

    应该有一种方法可以为您的主报告设置 print when 表达式以检查您的子报告中的数据,然后仅在其中至少有一个报告时才显示主报告。比如:

    if (subreport1HasData || subreport2HasData || subreport3HasData || subreport4HasData)
    

    【讨论】:

    • 我相信发帖者想知道如何检查子报表是否有数据。
    • 如果每个子报表的数据都在一个集合中,那么每个条件都可以检查对应的集合是否为空,即 if (!subreport1.isEmpty() || !subreport2.isEmpty() || !subreport3.isEmpty() || !subreport4.isEmpty()).
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多