ホームページ >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?

java.util.List を含む JavaBean

: JasperReports での表示

問題

A JavaBean には、 java.util.List。このリストのデータを JasperReports ドキュメントの Detail

バンドに表示するにはどうすればよいですか?

解決策
  1. Use _THIS Expression:
  2. JavaBean にアクセスするための _THIS 式members.
  3. Apply jr:list Component: jr:list コンポーネントを Detail
  4. バンドに組み込み、リストの項目を反復処理します。

作業サンプルコード
// 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>
...

結果

この構成は、詳細

バンド内のリストのデータを表示するレポートを生成します。

追加情報
  • これに関する他の関連質問トピック:
    • 「iReport の別のリストに含まれる文字列のリストを出力するにはどうすればよいですか?」
    • 「サブレポートのデータソースとしてプリミティブ型オブジェクトのリストを渡す」

以上がJasperReports の詳細バンドに JavaBean のリストを表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。