Laporan berasaskan JavaBean selalunya melibatkan paparan data yang terkandung dalam Senarai Java. Artikel ini meneroka cara untuk mencapai ini menggunakan 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); }
Dalam laporan, buat subdataset untuk senarai dan componentElement (jr:list) dalam jalur Detail.
<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>
Atas ialah kandungan terperinci Bagaimana untuk Memaparkan Data daripada Senarai Java dalam JavaBean Menggunakan JRBeanCollectionDataSource?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!