Применить группу к таблице

Я хочу применить к моему компоненту таблицы группу для иерархического отображения данных.

У меня есть объект Java с именем MASTER.

это имеет два атрибута:

  • имя (строка)
  • lstInfo (список другого объекта с именем SLAVE)

Я хочу создать таблицу, сгруппированную по master.name, чтобы показать все lstInfo, связанные с объектом master.

Я пытаюсь добавить в свой компонент 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>

person Joe Taras    schedule 12.01.2014    source источник
comment
Не могли бы вы вставить сюда свой jrxml? Было бы проще отладить ошибку.   -  person Kahini Wadhawan    schedule 13.01.2014


Ответы (1)


Я изменил свою точку зрения.

Вместо этого используйте объект с коллекцией, я создал матрицу данных.

Таким образом, я могу сгруппировать из набора полей, и таблица будет отображаться правильно.

person Joe Taras    schedule 14.01.2014