Question

I want to apply on my Table component a group to show hierarchically data.

I have a Java object named MASTER.

this has two attributes:

  • name (string)
  • lstInfo (list of another object named SLAVE)

I want to build a table grouped by master.name to show all lstInfo linked to master object.

I try to add on my DataSet component a group attribute and my table has defined in this way:

  • First column name
  • Second column lstInfo

But when I launch my report, show this error:

Infinite loop creating new page due to column header overflow.

For further information: I'm using iReport 5.2.0 as IDE to draw my report

EDIT

<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>
Was it helpful?

Solution

I've changed my point of view.

Instead use an object with a collection, I've created a data matrix.

In this way, I can group from a set of fields and the table show correctly.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top