将子报表路径设置为位于Jasper存储库其他位置的另一个jrxml

时间:2017-05-08 16:34:00

标签: jasper-reports jasperserver subreport

我正在尝试创建一个包含位于Jasper存储库其他位置的子报表的报表(而不是在主报表的Resources文件夹下)。我想用于子报表的文件是位于/public/DEV/test/test_subreport.jrxml的jrxml资源。在主报告中,它位于/ public / DEV / test,我有一个子报表元素。我已将子报表表达式设置为“repo:/public/DEV/test/test_subreport.jrxml”,我希望将其指向存储库中的jrxml文件。

当我尝试运行主报表时,我没有错误,只有一个空白页面。我很确定主报告能够找到test_subreport.jrxml文件,因为当我将子报表表达式更改为其他内容时(例如,在路径中添加额外的字符'X'),它会按预期错误“错误从URL打开输入流:repo:/public/DEV/test/test_subreportX.jrxml“。

主报表和子报表都有适当的虚拟查询,因此不是问题。

任何帮助将不胜感激!我正在使用iReport 5.2。

1 个答案:

答案 0 :(得分:0)

我弄明白了这个问题。在阅读http://community.jaspersoft.com/documentation/jasperreports-server-administration-guide/v550/jasperreport-structure确认我想要做的事情肯定是可能的之后,我仔细查看了我的主报告,并发现对于子报表元素我需要将数据连接传递到子报表。我将连接类型设置为"使用连接表达式"并将连接表达式设置为$ P {REPORT_CONNECTION}。