iReport:使用XPath(XML数据源)的子报告显示为空白

时间:2009-06-12 14:05:09

标签: xml xpath jasper-reports ireport

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

我正在做的事情非常简单:

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

同样,我可以单独渲染子报告并输入类似“/ Foo / Bar”的参数值,报告将按预期呈现。我已经尝试从方程式中删除XPath,只需创建一个带参数值的字段,但我仍然得到一个空白页面。这让我怀疑比XML / XPath更深层次的东西是错误的。

谢谢! Sean Purser-Haskell,Kewill PLC

1 个答案:

答案 0 :(得分: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