根据JasperReports中的条件更改文本字段数据颜色(前景色)

时间:2012-01-06 06:57:39

标签: java jasper-reports ireport jdeveloper

我是JasperReports的新手。我正在使用iReport设计报告。我有三个值x,y,z。如果z <然后,z的数据颜色应更改为“黑色”&amp;如果z> x然后z的数据颜色应更改为“红色”。 请告诉我怎么做。

我正在使用JDeveloper开发桌面应用。和iReport设计JasperReport。

1 个答案:

答案 0 :(得分:16)

您可以使用Conditional styles来解决此问题。

样本:

<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>