iReport在一个结果集中生成多个报告

时间:2012-02-26 12:51:20

标签: jasper-reports ireport

我在jrxml中使用了一个查询,结果如下所示:

名称 - 说明 -

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

名称位于标题部分,其余数据位于表格部分。 我想为每个不同的名字提供新的报告页面。如何在iReport 3.7.5中做到?

1 个答案:

答案 0 :(得分:1)

您可以为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>