我正在研究碧玉报告。我的要求是显示从java中获得的借方和贷方列的总计,作为JRBeanCollectionDataSource。我创建了一个变量,并将resetType =“ Page”和计算设置为Sum。第一页上的总数始终为零,因为第二页上的总数正确。
我的字段在subDataset中。我从datasetRun返回借方和贷方值的总和。
子数据集:
<subDataset name="TransactionDataSet" uuid="1c386547-d313-475c-b023-9f1b6f198535">
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="One Empty Record"/>
<queryString>
<![CDATA[]]>
</queryString>
<field name="accountTypeName" class="java.lang.String"/>
<field name="accountNum" class="java.lang.String"/>
<field name="name" class="java.lang.String"/>
<field name="transactionText" class="java.lang.String"/>
<field name="currencyCode" class="java.lang.String"/>
<field name="amountDebited" class="java.math.BigDecimal"/>
<field name="amountCredited" class="java.math.BigDecimal"/>
<field name="regionId" class="java.lang.String"/>
<field name="departmentId" class="java.lang.String"/>
<field name="costCenterId" class="java.lang.String"/>
<variable name="debitSumForPage" class="java.math.BigDecimal" resetType="Page" calculation="Sum">
<variableExpression><![CDATA[$F{amountDebited}]]></variableExpression>
<initialValueExpression><![CDATA[java.math.BigDecimal.ZERO]]></initialValueExpression>
</variable>
<variable name="creditSumForPage" class="java.math.BigDecimal" resetType="Page" calculation="Sum">
<variableExpression><![CDATA[$F{amountCredited}]]></variableExpression>
<initialValueExpression><![CDATA[java.math.BigDecimal.ZERO]]></initialValueExpression>
</variable>
</subDataset>
全局变量:
<variable name="totalDebitForPage" class="java.math.BigDecimal" calculation="Sum">
<initialValueExpression><![CDATA[java.math.BigDecimal.ZERO]]></initialValueExpression>
</variable>
<variable name="totalCreditForPage" class="java.math.BigDecimal" calculation="Sum">
<initialValueExpression><![CDATA[java.math.BigDecimal.ZERO]]></initialValueExpression>
</variable>
返回码:
<datasetRun subDataset="TransactionDataSet" uuid="c6dc230d-6e84-4618-b973-c5cedc63dcaf">
<dataSourceExpression><![CDATA[$P{TransactionDatasource}]]></dataSourceExpression>
<returnValue fromVariable="debitSumForPage" toVariable="totalDebitForPage"/>
<returnValue fromVariable="creditSumForPage" toVariable="totalCreditForPage"/>
</datasetRun>
我需要获取所有页面上的页面总数。