列总和(显示在页面页脚中)在第一页上不起作用。但是在第二页上工作

时间:2019-01-31 13:53:49

标签: jasper-reports

我正在研究碧玉报告。我的要求是显示从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>

我需要获取所有页面上的页面总数。

0 个答案:

没有答案