首頁 >Java >java教程 >如何在 JasperReports 的詳細資料區域中顯示 JavaBean 清單?

如何在 JasperReports 的詳細資料區域中顯示 JavaBean 清單?

Linda Hamilton
Linda Hamilton原創
2024-11-25 22:11:12166瀏覽

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

JavaBean包含java.util.List:在JasperReports 中顯示

問題

問題

JavaBean包含一個java.util.List。如何將此清單的資料顯示在 JasperReports 文件的 Detail 區域中?

  1. 使用_THIS 表達式: 利用_THIS 表達式來存取JavaBean
  2. jr:>應用程式來存取JavaBean jr:>應用程式碼組件:Detail
  3. 帶中合併jr:list 元件以迭代列表的項目。

工作範例程式碼
// 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>
...

結果

此設定會產生一個報告,顯示 詳細資料

範圍內的清單資料。

其他資訊
  • 其他相關問題解決此問題topic:
    • 「如何列印iReport 中另一個清單中包含的字串清單?

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn