2

我正在使用 iReport 3.5.2 使用 XML 数据源创建报告。我按照“iReport 终极指南”的“子报告”部分中的“逐步”示例进行操作,并且能够使示例使用 SQL。但是,当我尝试使用 XML 数据源和 XPath 时,子报告在主报告的呈现中显示为空白(尽管它本身可以很好地呈现)。

我正在做的是相当直截了当:

  • 我创建一个主报告
  • 我将一个子报告放入其中,它传递一个参数,其值类似于“/Foo/Bar”(我想要在子报告中的特定数据列表的 XPath)
  • 我在子报告中放置了一个使用 $P{} 引用此 XPath 的字段

同样,我可以单独呈现子报表并输入参数值,如“/Foo/Bar”,报表将按预期呈现。我已经尝试从等式中删除 XPath 并简单地使用参数值创建一个字段,但我仍然得到一个空白页。这让我怀疑比 XML/XPath 更深的东西是错误的。

谢谢!Sean Purser-Haskell, Kewill PLC

4

1 回答 1

3

我看到了你的帖子并分享了你的痛苦。我处于完全相同的情况。iReport/XML 数据源/子报表教程中的代码已损坏。我在 jasper 论坛上找到了这个,它解决了我的问题。本质上,示例中使用的数据源表达式是错误的,您需要将其替换为子报表的报表项的 xpath 查询。像这样的东西:

((net.sf.jasperreports.engine.data.JRXmlDataSource)$P{REPORT_DATA_SOURCE}).subDataSource("//YOUR_SUBREPORT_ENTITY")

http://jasperforge.org/plugins/espforum/view.php?group_id=83&forumid=101&topicid=48534

于 2010-04-22T21:17:01.337 回答