价格由$F{price}表示,我创建了一个变量,将每个项目的价格相加,以得到总价格$V{total_price},两者都是java.Math.BigDecimal。
我读了几篇文章,建议将Evaluation Time属性更改为AUTO属性,以表示已完成的总text field,但百分比是根据每项的累积和计算的,因此,第一项的百分比为100,依此类推。当我评估每件商品的百分比时,我怎么能一次得到总价格?

发布于 2016-04-15 21:15:55
是的,你是近的,自动应该使用百分比textField。
据我所知,你有这个变量,概括一下价格
<variable name="total_price" class="java.math.BigDecimal" calculation="Sum">
<variableExpression><![CDATA[$F{price}]]></variableExpression>
</variable>要获得百分比字段,只需添加textField和evaluationTime="auto",其中将$F{price}除以$V{total_price}
Auto -参与文本字段表达式的每个变量在与其重置类型相对应的时间内进行计算。字段现在被评估为。此计算类型应用于在不同时间(如总和中的百分比)合并计算值的表达式。
示例
<textField evaluationTime="Auto" pattern="#,##0.00 %">
<reportElement x="200" y="0" width="100" height="20" uuid="e88223c7-12b6-401d-80b7-6c8341773027"/>
<textElement textAlignment="Right" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$F{price}.doubleValue()/$V{total_price}.doubleValue()]]></textFieldExpression>
</textField>https://stackoverflow.com/questions/36653046
复制相似问题