我正在处理一个包含各种字段以及子数据集的报告:
<subDataset name="mySubDataset">
<field name="name" class="java.lang.String"/>
<field name="net" class="java.lang.String"/>
<field name="tax" class="java.lang.String"/>
<field name="total" class="java.lang.String"/>
</subDataset>
<parameter name="myDataSource" class="net.sf.jasperreports.engine.JRDataSource" isForPrompting="false"/>
<field name="totalAmount" class="java.lang.String"/>
我使用如下表组件迭代“mySubDataset”:
<jr:table>
<datasetRun subDataset="mySubDataset">
<dataSourceExpression><![CDATA[$P{myDataSource}]]></dataSourceExpression>
</datasetRun>
...
我想知道的是:是否可以引用表中的“totalAmount”字段?即我想在使用“totalAmount”字段的表的末尾添加一个“total”行。例如,也许像这样使用 columnFooter eleemnt:
<jr:column width="110">
<jr:tableHeader height="25">
<staticText>
<reportElement x="0" y="0" width="110" height="25" />
</staticText>
</jr:tableHeader>
<jr:columnHeader height="25">
<textField>
<reportElement x="0" y="0" width="110" height="25"/>
<textFieldExpression><![CDATA[$R{netCol}]]></textFieldExpression>
</textField>
</jr:columnHeader>
<jr:columnFooter height="25">
<textField>
<reportElement x="0" y="0" width="110" height="25" />
<textFieldExpression><![CDATA[$F{totalAmount}]]></textFieldExpression>
</textField>
</jr:columnFooter>
<jr:detailCell height="25">
<textField>
<reportElement x="0" y="0" width="110" height="25" />
<textFieldExpression><![CDATA[$F{net}]]></textFieldExpression>
</textField>
</jr:detailCell>
</jr:column>
我觉得我在叫错树,“正确”的解决方案是首先将 totalAmount 存储在 subDataset 中,但是我不确定这是否适合我。
更新:问题已在 jasper 论坛中交叉发布