如何创建总页数 运行?

How to create a running total over pages?

我要实现的是每页底部的累计小计。

在第一页上,将显示该页某列(我们称此列为 A)的总计。在第二页上,显示 A 列的第一页和第二页的总计,依此类推,直到显示总计的最后一页。

谁能给我提供实现此目的的方法?

要在页面、列、组上创建累计总和,您可以在 textField

上使用 evaluationTime 属性

设置为:

创建一个计算值的变量(在您的例子中是一个字段的总和)

<variable name="mySumVar" class="java.lang.Double" calculation="Sum">
    <variableExpression><![CDATA[$F{myFieldToSum}]]></variableExpression>
</variable> 

Important do not set resetType on variabile, this would reset the value accordingly and instead we want a accumulative value

现在,由于报告是 运行(详细信息带迭代),此变量将具有当前值(迭代的字段总和)。

要显示相对于页面、组等的累积值,我们使用具有相对 evaluationTime 的文本字段(如果在页面底部,例如 columnFooter,如果在顶部,则可以使用 columnHeader) .

在你的情况下你想在页面上累积所以你设置 evaluationTime="Page"

<textField evaluationTime="Page">
    <reportElement x="0" y="0" width="100" height="30" uuid="6736d772-987d-4ad0-af4c-9d19e631eb07"/>
    <textFieldExpression><![CDATA[$V{mySumVar}]]></textFieldExpression>
</textField>