如何在JasperReports/iReport中使用相同的数据源两次

KCD*_*KCD 9 jasper-reports ireport

我正在尝试找出如何最好地使用图表报告,然后是表示相同数据集的表.我需要克服摘要的定位在底部,所以打算使用子报表和table-subreports.我正在一个细节带中试验两张桌子和一张图表.

如果我将datasourceexpressionfor 设置为$P{REPORT_DATA_SOURCE}仅显示图表数据(可能是第一个子报表类型项)并且表是空的.似乎数据只能消耗一次?

如果我使用数据集查询数据库它可以工作,但它会执行三次查询,每个表/图表执行一次.这将是一个巨大的开销.

显然我没有这样做,但我找不到任何一次使用同一数据集的例子.

KCD*_*KCD 3

没有简单的答案,所以我提出了一个功能请求http://jasperforge.org/projects/jasperreports/tracker/view.php?id=5487

建议的解决方法是:

  • 实现自定义查询执行器以从缓存数据源检索数据
  • 根据检索到的结果集生成可回滚的数据源

感谢 jasperforge 论坛上的 sanda aka shertage 提供的这些建议。