我正在尝试将子报告添加到报告中。
我已将连接类型设置为“使用连接表达式”,表达式为 $P{REPORT_CONNECTION}。我的子报告包含一个简单的查询和一些静态文本,当我测试它时一切正常,但是当我测试主报告时,子报告没有出现。
我在子报表中有一些静态文本,这个应该总是显示,不是吗?但我看不到它...
在编译期间我没有错误,并且子报告路径似乎是正确的,因为一条消息说“subreport.jrxml 已经编译。”。
我能做些什么?
谢谢。
我正在尝试将子报告添加到报告中。
我已将连接类型设置为“使用连接表达式”,表达式为 $P{REPORT_CONNECTION}。我的子报告包含一个简单的查询和一些静态文本,当我测试它时一切正常,但是当我测试主报告时,子报告没有出现。
我在子报表中有一些静态文本,这个应该总是显示,不是吗?但我看不到它...
在编译期间我没有错误,并且子报告路径似乎是正确的,因为一条消息说“subreport.jrxml 已经编译。”。
我能做些什么?
谢谢。
解决方案是将 HIBERNATE_SESSION 作为参数从主报告传递到子报告。
如果您的子报告打开,请右键单击子报告并单击打开子报告,然后您的报告与您的子报告连接。如果子报表未打开,请为此进行正确的连接。如果您的子报告单独用于参数值并显示静态文本和详细信息带值,则可以确定该报告将来自主报告。但是报表只显示静态文本,并且文本在标题或页面标题中,那么您必须转到报表属性并在没有数据时设置输出,然后从组合中选择显示所有部分数据。您的静态文本将出现在主报告中。
当您在主报表中添加子报表时,子报表表达式将引用您本地保存的子报表路径。例如:“C:\abc\xyz.jrxml”。
现在您可以在 ireport 中预览包含子报告的主报告。在 Jasper 服务器中发布主报告后,子报告将加载到 jasper 存储库中,其表达式变为“repo:Repositorypath.jrxml”。
一旦包含子报表的报表发布到 Jasper 存储库,其路径将始终引用 Jasper 存储库路径,因此,您将无法在 Ireport 中预览主报表。
因此,在发布主报表后直接在 jasper 服务器中执行报表,而不是在 Ireport 中预览或打开子报表。
谢谢, Srikanth Kattam