使用 iReport v4.0.1 和 Jasperserver v4.1.0 我试图找到一种将子报表链接到主报表的语法,让我在 iReport 中对其进行测试,然后通过存储库浏览器部署到服务器。
子报表表达式的 iReport 中子报表的默认语法类似于
$P{SUBREPORT_DIR} + "mySubReport.jasper"
当您从 iReport 部署它时,它足够聪明地选择它并建议将其更改为
"repo:mySubReport.jrxml"
然后将所有子报表部署到主报表的 Resources 文件夹。
这很好,但不幸的是,它随后会在 iReport 中编辑文件以保存此更改,这意味着您无法在不手动重新编辑所有子报表表达式的情况下在 iReport 中运行报表 - 这会导致测试和部署到服务器的过程真的很痛苦,特别是当报告中有多个子报告时。
我想我至少可以将 $P{SUBREPORT} 的值设置为“repo:”或“My\local\filepath”,这样至少我只有一个地方可以更改它,但编译器没有像那样。
是否有替代结构或表达式可以根据您运行报告的位置正确解析为 repo:*.jrxml 或 My\local\filepath*.jasper?