jasper报告分组未按预期工作

问题描述 投票:2回答:1

我正在对一个选择查询运行一个jasper报告,我将结果按几个值分组,并在标题中使用相同的字段下面是我的Jasper组表达式和标题。

<groupExpression><![CDATA[$F{tray_code} + $F{card_id} + $F{card_position}+$F{card_number}+ $F{card_from_date}+ $F{card_to_date} + $F{week_number}+$F{patient_id} + $F{patient_full_name}]]></groupExpression>
    <groupHeader>
        <band height="15">
            <textField isBlankWhenNull="true">
                <reportElement x="5" y="0" width="20" height="14" uuid="97fd5e2c-50e4-46e4-9c1b-0453f5cd05b5"/>
                <textElement>
                    <font fontName="DejaVu Sans" size="8" isBold="true"/>
                </textElement>
                <textFieldExpression><![CDATA[$F{tray_code}]]></textFieldExpression>
            </textField>
            <textField isBlankWhenNull="true">
                <reportElement x="26" y="0" width="44" height="14" uuid="d16ea2fb-367a-4b5e-986e-bc19669c3091"/>
                <textElement>
                    <font fontName="DejaVu Sans" size="8" isBold="true"/>
                </textElement>
                <textFieldExpression><![CDATA[$F{card_id}]]></textFieldExpression>
            </textField>
            <textField>
                <reportElement x="95" y="0" width="25" height="14" uuid="b7eb1f75-44d4-467e-8463-29f6f6f4555b"/>
                <textElement textAlignment="Center">
                    <font fontName="DejaVu Sans" size="8" isBold="true"/>
                </textElement>
                <textFieldExpression><![CDATA[$F{card_position}]]></textFieldExpression>
            </textField>
            <textField pattern="">
                <reportElement x="120" y="0" width="55" height="14" uuid="10e4bc1b-cfbb-478d-bd10-a6284bd3bac1"/>
                <textElement>
                    <font fontName="DejaVu Sans" size="8" isBold="true"/>
                </textElement>
                <textFieldExpression><![CDATA[new SimpleDateFormat("dd/MM/yyyy").format(new SimpleDateFormat("yyyy-MM-dd").parse($F{card_from_date}))]]></textFieldExpression>
            </textField>
            <textField pattern="dd/MM/yyyy">
                <reportElement x="175" y="0" width="55" height="14" uuid="a7d34de5-c4de-4093-9da7-96119450c3ab"/>
                <textElement>
                    <font fontName="DejaVu Sans" size="8" isBold="true"/>
                </textElement>
                <textFieldExpression><![CDATA[new SimpleDateFormat("dd/MM/yyyy").format(new SimpleDateFormat("yyyy-MM-dd").parse($F{card_to_date}))]]></textFieldExpression>
            </textField>
            <textField>
                <reportElement x="230" y="0" width="24" height="14" uuid="9cf3bce2-cb70-45e7-8199-0d6c8003ce53"/>
                <textElement>
                    <font fontName="DejaVu Sans" size="8" isBold="true"/>
                </textElement>
                <textFieldExpression><![CDATA[$F{week_number}]]></textFieldExpression>
            </textField>
            <textField>
                <reportElement x="270" y="0" width="67" height="14" uuid="d9e50bb7-1616-4d84-b92f-246abd05ae7b"/>
                <textElement>
                    <font fontName="DejaVu Sans" size="8" isBold="true"/>
                </textElement>
                <textFieldExpression><![CDATA[$F{patient_id}]]></textFieldExpression>
            </textField>
            <textField>
                <reportElement x="337" y="0" width="250" height="14" uuid="b06f0d0d-739b-4e2a-a2bc-1686c9d5cbfe"/>
                <textElement>
                    <font fontName="DejaVu Sans" size="8" isBold="true"/>
                </textElement>
                <textFieldExpression><![CDATA[$F{patient_full_name}]]></textFieldExpression>
            </textField>
            <line>
                <reportElement x="0" y="14" width="752" height="1" uuid="968c2e25-462d-4b0a-90e2-34570db25d0f"/>
                <graphicElement>
                    <pen lineWidth="1.0" lineStyle="Dashed" lineColor="#999999"/>
                </graphicElement>
            </line>
            <textField>
                <reportElement x="70" y="0" width="25" height="14" uuid="7f4ba299-706f-4ba6-aafc-ffa47b0e4374"/>
                <textElement textAlignment="Center">
                    <font fontName="DejaVu Sans" size="8" isBold="true"/>
                </textElement>
                <textFieldExpression><![CDATA[$F{card_number}]]></textFieldExpression>
            </textField>
        </band>
    </groupHeader>

根据上面的组表达式,我期望一个组只有一个头,但是我看到在输出文件中重复了相同组的组头!请让我知道我在做什么错。在此先感谢。

jasper-reports
1个回答
0
投票

因此,当您使用多个组标题时,会发生此问题。第一个标头的行为仅按唯一值按列值A的预期顺序进行。尽管列值B为非唯一值,但使用列值B的第二个标题仍将打印在每一行上。理论上,您应该可以使用:

1。

© www.soinside.com 2019 - 2024. All rights reserved.