根据 JasperReports 中的条件更改文本字段数据颜色(前景色)
2022-09-04 02:16:48
我是JasperReports的新手。我正在使用 iReport 设计报表。我有三个值 x,y,z。如果z<y,则z的数据颜色应更改为“黑色”,如果z>x,则z的数据颜色应更改为“红色”。请告诉我该怎么做。
我正在使用JDeveloper开发桌面应用程序,并使用iReport来设计JasperReport。
我是JasperReports的新手。我正在使用 iReport 设计报表。我有三个值 x,y,z。如果z<y,则z的数据颜色应更改为“黑色”,如果z>x,则z的数据颜色应更改为“红色”。请告诉我该怎么做。
我正在使用JDeveloper开发桌面应用程序,并使用iReport来设计JasperReport。
可以使用条件样式
来解决此问题。
示例:
<style name="ZFieldStyle">
<conditionalStyle>
<conditionExpression><![CDATA[$F{Z} < $F{Y}]]></conditionExpression>
<style forecolor="#000000"/>
</conditionalStyle>
<conditionalStyle>
<conditionExpression><![CDATA[$F{Z}>$F{X}]]></conditionExpression>
<style forecolor="#FF0000"/>
</conditionalStyle>
</style>
...
<field name="X" class="java.lang.Integer"/>
<field name="Y" class="java.lang.Integer"/>
<field name="Z" class="java.lang.Integer"/>
...
<textField>
<reportElement style="ZFieldStyle" x="200" y="0" width="100" height="20"/>
<textElement/>
<textFieldExpression><![CDATA[$F{Z}]]></textFieldExpression>
</textField>