サブデータセットとともにさまざまなフィールドを持つレポートを使用しています。
<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 要素を使用します。
<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>
私は間違ったツリーを吠えているように感じます。「正しい」解決策は、最初に subDataset に totalAmount を格納することですが、これが利用可能なオプションであるかどうかはわかりません。