Heim > Java > javaLernprogramm > Wie zeige ich die Liste einer JavaBean im Detailband von JasperReports an?

Wie zeige ich die Liste einer JavaBean im Detailband von JasperReports an?

Linda Hamilton
Freigeben: 2024-11-25 22:11:12
Original
170 Leute haben es durchsucht

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

JavaBeans Containing java.util.List: Anzeige in JasperReports

Problem

A JavaBean enthält a java.util.List. Wie können die Daten dieser Liste im Detail-Band eines JasperReports-Dokuments angezeigt werden?

Lösung

  1. _THIS-Ausdruck verwenden: Nutzen Sie die _THIS-Ausdruck für den Zugriff auf die JavaBeans Mitglieder.
  2. jr:list-Komponente anwenden: Integrieren Sie eine jr:list-Komponente in das Detail-Band, um die Elemente der Liste zu durchlaufen.

Arbeitsprobe Code

// 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>
...
Nach dem Login kopieren

Ergebnisse

Diese Konfiguration generiert einen Bericht, der die Daten der Liste im Bereich Detail anzeigt.

Zusätzliche Informationen

  • Andere relevante Fragen befassen sich damit Thema:

    • "Wie drucke ich eine Liste von Zeichenfolgen aus, die in einer anderen Liste in iReport enthalten sind?"
    • "Übergabe der Liste primitiver Objekte als Datenquelle für Unterbericht"

Das obige ist der detaillierte Inhalt vonWie zeige ich die Liste einer JavaBean im Detailband von JasperReports an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage