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