在桌子上申请小组

时间:2014-01-12 19:51:11

标签: java jasper-reports grouping javabeans xmltable

我想在我的表组件上应用一个组来显示分层数据。

我有一个名为 MASTER Java 对象。

这有两个属性:

  • name (string)
  • lstInfo (另一个名为 SLAVE 的对象的列表)

我想构建一个按 master.name 分组的表,以显示链接到 master 对象的所有 lstInfo

我尝试在我的DataSet组件上添加一个组属性,我的表以这种方式定义:

  • 第一栏名称
  • 第二栏 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>

1 个答案:

答案 0 :(得分:0)

我改变了我的观点。

而是使用带有集合的对象,我创建了一个数据矩阵。

通过这种方式,我可以从一组字段中进行分组,并且表格显示正确。