我正在使用 iReport 3.6.2 来构建报告。我需要构建一个显示每个包的总数的报告。我的sql查询返回以下结果。
**PackName---------PackCount**
pack1 -------------- 4
pack2 -------------- 3
pack1 -------------- 1
pack3 -------------- 3
pack2 -------------- 3
pack1 -------------- 2
我的报告需要对PackName进行分组并添加相关的PackCount,如下例
**Package Name ------------ Total**
pack1 ---------------------- 7
pack2 ---------------------- 6
pack3 ---------------------- 3
我的groupingCode如下所示
<variable name="PacksCountSum" class="java.lang.Integer" incrementType="Group" incrementGroup="packsGroup" calculation="Sum">
<variableExpression><![CDATA[$F{packCount}]]></variableExpression>
</variable>
<group name="packsGroup">
<groupExpression><![CDATA[$F{packName}]]></groupExpression>
<groupHeader>
<band height="20">
<textField>
<reportElement mode="Opaque" x="0" y="5" width="515" height="15" backcolor="#C0C0C0"/>
<textElement/>
<textFieldExpression class="java.lang.String"><![CDATA[$F{packName}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="460" y="1" width="30" height="15"/>
<textElement textAlignment="Right"/>
<textFieldExpression class="java.lang.Integer"><![CDATA[$V{PacksCountSum}]]></textFieldExpression>
</textField>
</band>
</groupHeader>
</group>
但我的结果显示如下
**Package Name ------------ Total**
pack2 ---------------------- null
pack1 ---------------------- 3
pack2 ---------------------- 8
pack3 ---------------------- 10
任何人都可以帮助我并引导我朝着正确的方向前进。我似乎无法找到我的错误。
答案 0 :(得分:0)
我好像已经解决了我的问题。我按照Grouping records in JasperReports上的示例进行了操作,它帮助了我的分组。我还在我的SQL查询中添加了“order by”以确保我的packNames是有序的。