0

テーブル コンポーネントにグループを適用して、データを階層的に表示したいと考えています。

MASTERという名前のJavaオブジェクトがあります。

これには 2 つの属性があります。

  • 名前(文字列)
  • lstInfo ( SLAVEという名前の別のオブジェクトのリスト)

master.name でグループ化されたテーブルを作成して、マスターオブジェクトにリンクされているすべての lstInfo を表示したいと考えています。

DataSet コンポーネントにグループ属性を追加しようとしましたが、テーブルは次のように定義されています。

  • 最初の列名
  • 2 列目 lstInfo

しかし、レポートを起動すると、次のエラーが表示されます。

Infinite loop creating new page due to column header overflow.

詳細情報: iReport 5.2.0を IDE として使用してレポートを作成しています

編集

<jr:column width="90" uuid="e562503c-d39f-47e3-b50a-04669ebe1d33">
    <jr:tableHeader style="table 1_TH" height="30"/>
    <jr:tableFooter style="table 1_TH" height="30"/>
    <jr:groupHeader groupName="grpMaster">
        <jr:cell style="table 1_TH" height="30">
            <textField>
                <reportElement uuid="e7e52c98-1631-4237-a11b-6167acbf4e01" x="0" y="0" width="90" height="20"/>
                <textElement/>
                <textFieldExpression><![CDATA[""+$F{master.name}]]></textFieldExpression>
            </textField>
        </jr:cell>
    </jr:groupHeader>
    <jr:groupFooter groupName="grpMaster">
        <jr:cell style="table 1_TH" height="30"/>
    </jr:groupFooter>
    <jr:columnHeader style="table 1_CH" height="30">
        <staticText>
            <reportElement uuid="85a422bc-2d60-4cd2-8058-ffbc8f18b69c" x="0" y="0" width="90" height="30"/>
            <textElement/>
            <text><![CDATA[master.name]]></text>
        </staticText>
    </jr:columnHeader>
    <jr:columnFooter style="table 1_CH" height="30"/>
    <jr:detailCell style="table 1_TD" height="20"/>
</jr:column>
<jr:column width="90" uuid="e47bd6ce-098d-447c-ae54-0639110ce45e">
    <jr:tableHeader style="table 1_TH" height="30"/>
    <jr:tableFooter style="table 1_TH" height="30"/>
    <jr:groupHeader groupName="grpMaster">
        <jr:cell style="table 1_TH" height="30"/>
    </jr:groupHeader>
    <jr:groupFooter groupName="grpMaster">
        <jr:cell style="table 1_TH" height="30"/>
    </jr:groupFooter>
    <jr:columnHeader style="table 1_CH" height="30">
        <staticText>
            <reportElement uuid="de0366d9-3e7e-42ce-a755-279bcbbf4b81" x="0" y="0" width="90" height="30"/>
            <textElement/>
            <text><![CDATA[lstInfo]]></text>
        </staticText>
    </jr:columnHeader>
    <jr:columnFooter style="table 1_CH" height="30"/>
    <jr:detailCell style="table 1_TD" height="20">
        <textField>
            <reportElement uuid="2a8a5b05-49df-4f92-8cb0-65a2166ebf87" x="0" y="0" width="90" height="20"/>
            <textElement/>
            <textFieldExpression><![CDATA[""+$F{lstInfo}]]></textFieldExpression>
        </textField>
    </jr:detailCell>
</jr:column>
4

1 に答える 1

0

視点を変えました。

コレクションでオブジェクトを使用する代わりに、データ マトリックスを作成しました。

このようにして、一連のフィールドからグループ化でき、テーブルが正しく表示されます。

于 2014-01-14T10:00:20.823 に答える