你很接近了,"auto" 应该用在百分比文本框上。
据我所理解,你有这个变量,来总结价格。
<variable name="total_price" class="java.math.BigDecimal" calculation="Sum">
<variableExpression><![CDATA[$F{price}]]></variableExpression>
</variable>
evaluationTime="auto"
,在此处将 $F{price}
除以 $V{total_price}
自动 - 对于参与文本字段表达式的每个变量,都会在对应其重置类型的时间进行评估。 字段现在被评估。 此评估类型应用于组合在一起的表达式的值,例如总数的百分比。
示例
<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>