我想要实现的是每页底部的累积小计。
在第一页上,将显示该列页面的总数(让我们调用此列A)。在第二页上,显示A列的第1页和第2页的总数,依此类推,直到显示总计的总页数为止。
有人可以为我提供实现这个目标的方法吗?
答案 0 :(得分:0)
要在页面,列,群组上创建累积总和,您可以使用textField
evaluationTime
属性
设置为:
创建一个计算值的变量值(在您的情况下是字段的总和)
<variable name="mySumVar" class="java.lang.Double" calculation="Sum">
<variableExpression><![CDATA[$F{myFieldToSum}]]></variableExpression>
</variable>
重要的是不要在变量上设置
resetType
,这会相应地重置值,而是我们想要一个累积值
现在报告正在运行(细节带迭代),这个变量将具有当前值(迭代的字段总和)。
要显示相对于页面,组等的累积值,我们使用带有相对评估时间的textField(如果在页面底部,例如在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>