首頁 > Java > java教程 > 如何使用 JRBeanCollectionDataSource 在 JavaBean 中顯示 Java 清單中的資料?

如何使用 JRBeanCollectionDataSource 在 JavaBean 中顯示 Java 清單中的資料?

DDD
發布: 2024-11-26 15:50:10
原創
963 人瀏覽過

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

JRBeanCollectionDataSource:在 JavaBean 中顯示 Java 清單中的資料

概述

基於 JavaBean 的報告通常涉及顯示 Java 清單中包含的資料。本文探討如何使用 JRBeanCollectionDataSource 來實現此目的。

實作

第1 步:建立帶有清單欄位的JavaBean

public class Userinfo {
    private String username;
    private String password;
    private List<Address> listAddress;
}
登入後複製

第2 步:為清單產生資料集

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);
}
登入後複製

第3 步:定義JRXML報告

在報告中,為清單建立子資料集,並在詳細資料帶中建立一個元件元素(jr:list)。

<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>
登入後複製

關鍵點

  • _THIS 表達式用於子資料集中擷取目前清單的元素。
  • Detail 區域內的 jr:list 元件顯示清單的元素。

以上是如何使用 JRBeanCollectionDataSource 在 JavaBean 中顯示 Java 清單中的資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板