Maison >Java >javaDidacticiel >Comment afficher les données d'une liste Java dans un JavaBean à l'aide de JRBeanCollectionDataSource ?

Comment afficher les données d'une liste Java dans un JavaBean à l'aide de JRBeanCollectionDataSource ?

DDD
DDDoriginal
2024-11-26 15:50:10972parcourir

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

JRBeanCollectionDataSource : affichage des données d'une liste Java dans un JavaBean

Présentation

Les rapports basés sur JavaBean impliquent souvent l'affichage de données contenues dans des listes Java. Cet article explique comment y parvenir à l'aide de JRBeanCollectionDataSource.

Implémentation

Étape 1 : Créer un JavaBean avec un champ de liste

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

Étape 2 : Générer un ensemble de données pour la 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);
}

Étape 3 : Définir le JRXML Rapport

Dans le rapport, créez un sous-ensemble de données pour la liste et un composantElement (jr:list) dans la bande Détail.

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

Points clés

L'expression
  • _THIS est utilisée dans le sous-ensemble de données pour récupérer l'élément actuel du list.
  • Le composant jr:list au sein de la bande Detail affiche les éléments de la liste.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn