如何创建总页数 运行?
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>
我要实现的是每页底部的累计小计。
在第一页上,将显示该页某列(我们称此列为 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>