Heim  >  Artikel  >  Java  >  Wie zeige ich Daten aus einer Java-Liste in einer JavaBean mithilfe von JRBeanCollectionDataSource an?

Wie zeige ich Daten aus einer Java-Liste in einer JavaBean mithilfe von JRBeanCollectionDataSource an?

DDD
DDDOriginal
2024-11-26 15:50:10910Durchsuche

How to Display Data from a Java List in a JavaBean Using JRBeanCollectionDataSource?

JRBeanCollectionDataSource: Anzeigen von Daten aus einer Java-Liste in einer JavaBean

Übersicht

JavaBean-basierte Berichte beinhalten oft die Anzeige von Daten, die in Java-Listen enthalten sind. In diesem Artikel wird erläutert, wie Sie dies mithilfe von JRBeanCollectionDataSource erreichen können.

Implementierung

Schritt 1: Erstellen Sie eine JavaBean mit einem Listenfeld

public class Userinfo {
    private String username;
    private String password;
    private List<Address> listAddress;
}

Schritt 2: Generieren Sie einen Datensatz für die Liste

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);
}

Schritt 3: Definieren Sie die JRXML Bericht

Erstellen Sie im Bericht einen Unterdatensatz für die Liste und ein ComponentElement (jr:list) im Bereich Detail.

<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>

Wichtige Punkte

Der Ausdruck
  • _THIS wird im Unterdatensatz verwendet, um das aktuelle Element des abzurufen Liste.
  • Die Komponente jr:list im Bereich Detail zeigt die Elemente der Liste an.

Das obige ist der detaillierte Inhalt vonWie zeige ich Daten aus einer Java-Liste in einer JavaBean mithilfe von JRBeanCollectionDataSource an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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