JRBeanCollectionDataSource: Memaparkan Data daripada Senarai Java dalam JavaBean
Ikhtisar
Laporan berasaskan JavaBean selalunya melibatkan paparan data yang terkandung dalam Senarai Java. Artikel ini meneroka cara untuk mencapai ini menggunakan JRBeanCollectionDataSource.
Pelaksanaan
Langkah 1: Buat JavaBean dengan Medan Senarai
1 2 3 4 5 | public class Userinfo {
private String username;
private String password;
private List<Address> listAddress;
}
|
Salin selepas log masuk
Langkah 2: Jana Set Data untuk Senarai
1 2 3 4 5 6 7 8 | 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);
}
|
Salin selepas log masuk
Langkah 3: Takrifkan Laporan JRXML
Dalam laporan, buat subdataset untuk senarai dan componentElement (jr:list) dalam jalur Detail.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <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>
|
Salin selepas log masuk
Itu Utama
-
_THIS ungkapan digunakan dalam subdataset untuk mendapatkan semula elemen semasa senarai.
- Komponen jr:list dalam jalur Detail memaparkan elemen senarai.
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!