贾斯珀报告与列表或Pojos集合

时间:2012-04-26 21:52:12

标签: jasper-reports

这个问题是关于Jasper Reports的。

假设我想使用JRBeanCollectionDataSource这样创建一个Jasper报告......

jasperPrint = JasperFillManager.fillReport(JRLoader.getInputStream(fileName), parameters, new JRBeanCollectionDataSource(aList));

假设我使用的PoJo具有List类型的属性。

如何访问

  1. 此列表中的各个项目
  2. 如果此项本身是Pojo,则访问Jasper Report XML中的属性 文件。
  3. 例如在Jasper XML文件中:

    ...field name="?????" class="java.lang.String" ...
    

    感谢您的帮助......

1 个答案:

答案 0 :(得分:6)

如果您的数据源具有List类型的字段(更一般地,类型为java.util.Collection),那么您可以使用Table或List或Subreport组件来迭代它们。使用其中一个元素并设置其数据源如下:

new net.sf.jasperreports.engine.data.JRMapCollectionDataSource($F{myListField})

您还可以使用静态方法添加自己的帮助程序类,以便适当地处理这些字段。

MongoDB出现了很多。我写了一篇关于Collections in JasperReports的文章。它使用MongoDB作为数据源......但它同样适用于您的POJO数据源。