Jasper reports 如果上一个值相同,printWhenGroupChanges不会重新打印
我想打印一个包含3列的表:group、subgroup和value。 我只想在子组更改或它是工作表的第一行时打印组和子组 以下是我的报告: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
<?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