基於 JavaBean 的報告通常涉及顯示 Java 清單中包含的資料。本文探討如何使用 JRBeanCollectionDataSource 來實現此目的。
public class Userinfo { private String username; private String password; private List<Address> listAddress; }
private static JRDataSource getDataSource() { Collection<BeanWithList> coll = new ArrayList<BeanWithList>(); coll.add(new BeanWithList(Arrays.asList("London", "Paris"), 1)); coll.add(new BeanWithList(Arrays.asList("London", "Madrid", "Moscow"), 2)); coll.add(new BeanWithList(Arrays.asList("Rome"), 3)); return new JRBeanCollectionDataSource(coll); }
在報告中,為清單建立子資料集,並在詳細資料帶中建立一個元件元素(jr:list)。
<subDataset name="dataset1"> <field name="city" class="java.lang.String"> <fieldDescription><![CDATA[_THIS]]></fieldDescription> </field> </subDataset> ... <detail> <componentElement> <jr:list printOrder="Vertical"> <datasetRun subDataset="dataset1"> <dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{cities})]]></dataSourceExpression> </datasetRun> </jr:list> </componentElement> </detail>
以上是如何使用 JRBeanCollectionDataSource 在 JavaBean 中顯示 Java 清單中的資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!