JavaBeans selalunya mengandungi koleksi data. JRBeanCollectionDataSource membolehkan anda memaparkan data daripada koleksi ini dalam pelbagai cara.
Bagaimana saya boleh memaparkan data daripada java.util.List yang disimpan dalam JavaBean dalam jalur Detail sebuah Laporan Jasper?
Kunci Pertimbangan untuk Penyelesaian:
Jawa Kelas:
// JavaBean with a list of strings public class BeanWithList { private List<String> cities; private Integer id; // Getter methods }
JRXML:
<jasperReport> <subDataset name="dataset1"> <field name="city" class="java.lang.String"> <fieldDescription><![CDATA[_THIS]]></fieldDescription> </field> </subDataset> <field name="id" class="java.lang.Integer"/> <field name="cities" class="java.util.Collection"/> <title> <staticText>Bean with List sample</staticText> </title> <detail> <textField> <reportElement x="0" y="0" width="100" height="20"/> <textFieldExpression><![CDATA[$F{id}]]></textFieldExpression> </textField> <componentElement> <reportElement x="100" y="0" width="400" height="20"/> <jr:list> <datasetRun subDataset="dataset1"> <dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{cities})]]></dataSourceExpression> </datasetRun> <jr:listContents height="20" width="400"> <textField> <reportElement x="0" y="0" width="100" height="20"/> <textFieldExpression><![CDATA[$F{city}]]></textFieldExpression> </textField> </jr:listContents> </jr:list> </componentElement> </detail> </jasperReport>
Pendekatan ini akan menghasilkan laporan yang memaparkan medan id bagi JavaBean, serta kandungan elemen Senarai dalam komponen sublaporan dalam jalur Detail.
Atas ialah kandungan terperinci Bagaimana untuk Memaparkan Data Senarai JavaBean dalam Jalur Butiran Laporan Jasper?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!