1

我正在尝试将子报告添加到报告中。

我已将连接类型设置为“使用连接表达式”,表达式为 $P{REPORT_CONNECTION}。我的子报告包含一个简单的查询和一些静态文本,当我测试它时一切正常,但是当我测试主报告时,子报告没有出现。

我在子报表中有一些静态文本,这个应该总是显示,不是吗?但我看不到它...

在编译期间我没有错误,并且子报告路径似乎是正确的,因为一条消息说“subreport.jrxml 已经编译。”。

我能做些什么?

谢谢。

4

3 回答 3

2

解决方案是将 HIBERNATE_SESSION 作为参数从主报告传递到子报告。

于 2010-12-07T20:21:31.847 回答
1

如果您的子报告打开,请右键单击子报告并单击打开子报告,然后您的报告与您的子报告连接。如果子报表未打开,请为此进行正确的连接。如果您的子报告单独用于参数值并显示静态文本和详细信息带值,则可以确定该报告将来自主报告。但是报表只显示静态文本,并且文本在标题或页面标题中,那么您必须转到报表属性并在没有数据时设置输出,然后从组合中选择显示所有部分数据。您的静态文本将出现在主报告中。

于 2011-07-13T13:22:48.503 回答
0

当您在主报表中添加子报表时,子报表表达式将引用您本地保存的子报表路径。例如:“C:\abc\xyz.jrxml”。

现在您可以在 ireport 中预览包含子报告的主报告。在 Jasper 服务器中发布主报告后,子报告将加载到 jasper 存储库中,其表达式变为“repo:Repositorypath.jrxml”。

一旦包含子报表的报表发布到 Jasper 存储库,其路径将始终引用 Jasper 存储库路径,因此,您将无法在 Ireport 中预览主报表。

因此,在发布主报表后直接在 jasper 服务器中执行报表,而不是在 Ireport 中预览或打开子报表。

谢谢, Srikanth Kattam

于 2013-04-19T19:19:00.937 回答