Rumah > Java > javaTutorial > Bagaimana untuk Memaparkan Harta Senarai JavaBean dalam Laporan JasperReports?

Bagaimana untuk Memaparkan Harta Senarai JavaBean dalam Laporan JasperReports?

DDD
Lepaskan: 2024-11-29 22:52:11
asal
183 orang telah melayarinya

How to Display a JavaBean's List Property in a JasperReports Report?

Cara mengakses data daripada java.util.List dalam JavaBean menggunakan JRBeanCollectionDataSource

Panduan ini menerangkan cara memaparkan data yang disimpan dalam Senaraikan harta JavaBean menggunakan JRBeanCollectionDataSource dalam anda laporan.

Masalahnya:

Pertimbangkan JavaBean dengan sifat yang memegang java.util.Senarai nilai. Bagaimanakah kami boleh mengekstrak dan memaparkan data senarai ini dalam jalur Butiran laporan?

Penyelesaian:

Untuk mencapainya, kami boleh memanfaatkan dua teknik utama:

1. Menggunakan Ungkapan _THIS:
Dalam ungkapan medan, gunakan ungkapan _THIS untuk mengakses tika semasa JavaBean. Ini membolehkan anda mengekstrak sifat java.util.List daripada kacang.

2. Senaraikan Komponen dalam Jalur Terperinci:
Gunakan komponen Senarai dalam jalur Terperinci. Ikat DataSourceExpressionnya kepada JRBeanCollectionDataSource baharu yang membungkus java.util.List yang diperoleh menggunakan ungkapan _THIS. Kemudian, dalam kandungan senarai, tentukan TextField untuk memaparkan nilai individu daripada senarai.

Contoh Kod:

JavaBean:

public class BeanWithList {

    private List<String> cities;
    private Integer id;

    // public getters for bean properties

}
Salin selepas log masuk

JRXML Fail:

<field name="id" class="java.lang.Integer"/>
<field name="cities" class="java.util.Collection"/>

<detail>
    <band height="20">
        <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>
    </band>
</detail>
Salin selepas log masuk

Keputusan:

Laporan akan memaparkan ID JavaBean bersama-sama senarai bandar yang disimpan dalam harta bandarnya.

Atas ialah kandungan terperinci Bagaimana untuk Memaparkan Harta Senarai JavaBean dalam Laporan JasperReports?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan