Rumah > Java > javaTutorial > Bagaimana untuk Memaparkan Senarai JavaBean dalam Jalur Terperinci JasperReports?

Bagaimana untuk Memaparkan Senarai JavaBean dalam Jalur Terperinci JasperReports?

Linda Hamilton
Lepaskan: 2024-11-25 22:11:12
asal
170 orang telah melayarinya

How to Display a JavaBean's List in JasperReports' Detail Band?

JavaBeanMengandungi java.util.List: Paparan dalam JasperReports

Masalah

A JavaBean mengandungi a java.util.List. Bagaimanakah data senarai ini boleh dipaparkan dalam jalur Butiran dokumen JasperReports?

Penyelesaian

  1. Gunakan Ungkapan _THIS: Gunakan _Ungkapan INI untuk mengakses JavaBean's ahli.
  2. Gunakan jr:list Component: Masukkan komponen jr:list dalam jalur Detail untuk beralih melalui item senarai.

Sampel Berfungsi Kod

// Java source to generate the report
...

// DataSource using JRBeanCollectionDataSource
private static JRDataSource getDataSource() {
    Collection<BeanWithList> coll = ...;
    return new JRBeanCollectionDataSource(coll);
}

// JavaBean
public class BeanWithList {
    private List<String> cities;
    // ...

    // Ensure a public getter for field extraction
    public List<String> getCities() {
        return this.cities;
    }
}

// jrxml file
...

// Subdataset for iterating through the list
<subDataset name="dataset1">
    <field name="city" class="java.lang.String">
        <fieldDescription><![CDATA[_THIS]]></fieldDescription>
    </field>
</subDataset>

// Detail band with jr:list component
<detail>
    ...
    <componentElement>
        <!-- jr:list component -->
        <jr:list ...>
            <datasetRun subDataset="dataset1">
                <!-- DataSource expression using JRBeanCollectionDataSource -->
                <dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{cities})]]></dataSourceExpression>
            </datasetRun>
            <jr:listContents ...>
                <textField ...>
                    <textFieldExpression><![CDATA[$F{city}]]></textFieldExpression>
                </textField>
            </jr:listContents>
        </jr:list>
    </componentElement>
    ...
</detail>
...
Salin selepas log masuk

Keputusan

Konfigurasi ini menjana laporan yang memaparkan data senarai dalam jalur Butiran.

Maklumat Tambahan

  • Soalan lain yang berkaitan menangani perkara ini topik:

    • "Bagaimana cara saya mencetak senarai rentetan yang terkandung dalam senarai lain dalam iReport?"
    • "Meluluskan Senarai objek jenis primitif sebagai sumber data untuk sublaporan"

Atas ialah kandungan terperinci Bagaimana untuk Memaparkan Senarai JavaBean dalam Jalur Terperinci 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan