Jasper reports 如果上一个值相同,printWhenGroupChanges不会重新打印

Jasper reports 如果上一个值相同,printWhenGroupChanges不会重新打印,jasper-reports,Jasper Reports,我想打印一个包含3列的表:group、subgroup和value。 我只想在子组更改或它是工作表的第一行时打印组和子组 以下是我的报告: <?xml version="1.0" encoding="UTF-8"?> <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:s

我想打印一个包含3列的表:group、subgroup和value。 我只想在子组更改或它是工作表的第一行时打印组和子组

以下是我的报告:

<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="printWhenGroupChangesInTable" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="f3095c03-6622-4524-a0fc-9471ad06913a">
    <style name="table">
        <box>
            <pen lineWidth="1.0" lineColor="#000000"/>
        </box>
    </style>
    <style name="table_TH" mode="Opaque" backcolor="#F0F8FF">
        <box>
            <pen lineWidth="0.5" lineColor="#000000"/>
        </box>
    </style>
    <style name="table_CH" mode="Opaque" backcolor="#BFE1FF">
        <box>
            <pen lineWidth="0.5" lineColor="#000000"/>
        </box>
    </style>
    <style name="table_TD" mode="Opaque" backcolor="#FFFFFF">
        <box>
            <pen lineWidth="0.5" lineColor="#000000"/>
        </box>
    </style>
    <style name="table 1">
        <box>
            <pen lineWidth="1.0" lineColor="#000000"/>
        </box>
    </style>
    <style name="table 1_TH" mode="Opaque" backcolor="#F0F8FF">
        <box>
            <pen lineWidth="0.5" lineColor="#000000"/>
        </box>
    </style>
    <style name="table 1_CH" mode="Opaque" backcolor="#BFE1FF">
        <box>
            <pen lineWidth="0.5" lineColor="#000000"/>
        </box>
    </style>
    <style name="table 1_TD" mode="Opaque" backcolor="#FFFFFF">
        <box>
            <pen lineWidth="0.5" lineColor="#000000"/>
        </box>
    </style>
    <subDataset name="New Dataset 1" uuid="9bf6fe22-d440-4db4-a496-8e0689a3cf35">
        <field name="COLUMN_0" class="java.lang.String"/>
        <field name="COLUMN_1" class="java.lang.String"/>
        <field name="COLUMN_2" class="java.lang.String"/>
        <sortField name="COLUMN_0"/>
        <sortField name="COLUMN_1"/>
        <group name="group">
            <groupExpression><![CDATA[$F{COLUMN_0}]]></groupExpression>
        </group>
        <group name="subgroup">
            <groupExpression><![CDATA[$F{COLUMN_1}]]></groupExpression>
        </group>
    </subDataset>
    <detail>
        <band height="20" splitType="Stretch">
            <componentElement>
                <reportElement uuid="e357d4bd-5ea9-49e6-ac22-161567bf6aea" key="table 1" style="table 1" x="0" y="0" width="555" height="20"/>
                <jr:table xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd">
                    <datasetRun subDataset="New Dataset 1" uuid="cbc8c9a3-d793-420c-8bbb-37a3d0e540d5">
                        <dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRCsvDataSource("C:\\example.csv")]]></dataSourceExpression>
                    </datasetRun>
                    <jr:column width="185" uuid="3f354cfb-b31f-4c52-8103-d47891981e64">
                        <jr:detailCell style="table 1_TD" height="20" rowSpan="1">
                            <textField>
                                <reportElement uuid="699725e5-704a-4fe5-96e0-77eb57b7fc69" isPrintRepeatedValues="false" x="0" y="0" width="185" height="20" isPrintInFirstWholeBand="true" isPrintWhenDetailOverflows="true" printWhenGroupChanges="subgroup"/>
                                <textElement/>
                                <textFieldExpression><![CDATA[$F{COLUMN_0}]]></textFieldExpression>
                            </textField>
                        </jr:detailCell>
                    </jr:column>
                    <jr:column width="185" uuid="8046b163-8e37-489d-a9fd-2ef02c26c7d5">
                        <jr:detailCell style="table 1_TD" height="20" rowSpan="1">
                            <textField>
                                <reportElement uuid="537ee40d-36f4-42ff-99b1-ae3db1497384" isPrintRepeatedValues="false" x="0" y="0" width="185" height="20" isPrintInFirstWholeBand="true" isPrintWhenDetailOverflows="true" printWhenGroupChanges="subgroup"/>
                                <textElement/>
                                <textFieldExpression><![CDATA[$F{COLUMN_1}]]></textFieldExpression>
                            </textField>
                        </jr:detailCell>
                    </jr:column>
                    <jr:column width="185" uuid="9805e883-8dce-4e6b-b5a3-fc2249969e33">
                        <jr:detailCell style="table 1_TD" height="20" rowSpan="1">
                            <textField>
                                <reportElement uuid="b94b64a6-daa0-4cb5-8bcb-7fa0ab2d85dc" x="0" y="0" width="185" height="20"/>
                                <textElement/>
                                <textFieldExpression><![CDATA[$F{COLUMN_2}]]></textFieldExpression>
                            </textField>
                        </jr:detailCell>
                    </jr:column>
                </jr:table>
            </componentElement>
        </band>
    </detail>
</jasperReport>
我所期望的是:

group1 subgroup1 value1 value2 value3 group1 subgroup2 value1 value2 value3 group2 subgroup1 value1 value2 value3 group2 subgroup2 value1 value2 value3 group3 subgroup2 value1 组1子组1值1 价值2 价值3 组1子组2值1 价值2 价值3 组2子组1值1 价值2 价值3 组2子组2值1 价值2 价值3 组3子组2值1 我得到的是:

group1 subgroup1 value1 value2 value3 subgroup2 value1 value2 value3 group2 subgroup1 value1 value2 value3 subgroup2 value1 value2 value3 group3 value1 组1子组1值1 价值2 价值3 子2值1 价值2 价值3 组2子组1值1 价值2 价值3 子2值1 价值2 价值3 第3组值1 两个文本字段都用printWhenGroupChanges=“subgroup”标记

我不想使用printWheenexpression:$V{subgroup\u COUNT}==1,因为不考虑isprintinInfirstwholeband=“true”,并且[group,subgroup]元组不会打印在新页面的顶部

我已经在jasper网站上做了一个bug报告:

有人知道我如何解决这个问题吗

group1 subgroup1 value1 value2 value3 subgroup2 value1 value2 value3 group2 subgroup1 value1 value2 value3 subgroup2 value1 value2 value3 group3 value1