iReport делает несколько отчетов в одном наборе результатов - PullRequest
0 голосов
/ 26 февраля 2012

Я использую запрос в jrxml, и он имеет набор результатов, как показано ниже:

name - description - value

xyz ----- desc1 ------- 2
xyz ----- desc2 ------- 55
xyz ----- desc3 ------ 54
pqr ----- desc1 ------- 6
pqr ----- desc2 ------- 44
pqr ----- desc3 ------- 77

имя идет в части заголовка, а остальные данные - в части таблицы.Я хочу новую страницу отчета для каждого имени.Как это сделать в iReport 3.7.5?

1 Ответ

1 голос
/ 27 февраля 2012

Вы можете создать группу для поля name и установить свойство isStartNewPage для полосы Group.

Пример:

<queryString>
    <![CDATA[SELECT name, description, value FROM table_name ORDER BY name]]>
</queryString>
<field name="name" class="java.lang.String"/>
<field name="description" class="java.lang.String"/>
<field name="value" class="java.lang.Integer"/>
<group name="nameGroup" isStartNewPage="true">
    <groupExpression><![CDATA[$F{name}]]></groupExpression>
    <groupHeader>
        <band height="20">
            <textField>
                <reportElement x="0" y="0" width="200" height="20"/>
                <textElement/>
                <textFieldExpression><![CDATA["Name: " + $F{name}]]></textFieldExpression>
            </textField>
        </band>
    </groupHeader>
</group>
<detail>
    <band height="20" splitType="Stretch">
        <textField>
            <reportElement x="0" y="0" width="100" height="20"/>
            <textElement/>
            <textFieldExpression><![CDATA[$F{description}]]></textFieldExpression>
        </textField>
        <textField>
            <reportElement x="100" y="0" width="100" height="20"/>
            <textElement/>
            <textFieldExpression><![CDATA[$F{value}]]></textFieldExpression>
        </textField>
    </band>
</detail>
...