在新页面上启动 JasperReport 子报表,但在作为主报表启动时不启动
Start JasperReport subreport on new page, but not when launched as main report
我有一个名为 'Receipt' 的 JasperReport 可以启动为:
- 摘要带中的子报表,以显示任何收据
- 主报表,显示特定收据
当它用作子报表时,如何在任何收据之前开始一个新页面,但如果没有收据则抑制新页面?
设置isTitleNewPage="true"在子报表情况下有效,但在用作主报表时导致Detail band显示在第二页。
在子报表之前使用 Break 意味着如果没有收据则使用冗余页面。
我通过以下方式解决了它:
向报表添加布尔 isSubReport 参数
在 Detail band 中,添加一个 Break,并将 Print When Expression 设置为:
$V{PAGE_NUMBER} == 1 && $P{isSubReport}
在父报表中,传递值为TRUE()的参数isSubReport
感觉应该有一个更简洁的解决方案,但它似乎有效。
我有一个名为 'Receipt' 的 JasperReport 可以启动为:
- 摘要带中的子报表,以显示任何收据
- 主报表,显示特定收据
当它用作子报表时,如何在任何收据之前开始一个新页面,但如果没有收据则抑制新页面?
设置isTitleNewPage="true"在子报表情况下有效,但在用作主报表时导致Detail band显示在第二页。
在子报表之前使用 Break 意味着如果没有收据则使用冗余页面。
我通过以下方式解决了它:
向报表添加布尔 isSubReport 参数
在 Detail band 中,添加一个 Break,并将 Print When Expression 设置为:
$V{PAGE_NUMBER} == 1 && $P{isSubReport}
在父报表中,传递值为TRUE()的参数isSubReport
感觉应该有一个更简洁的解决方案,但它似乎有效。