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

Posted

技术标签:

【中文标题】根据 JasperReports 中的条件更改文本字段数据颜色(前景色)【英文标题】:Change text field data color (Foreground color) based on condition in JasperReports 【发布时间】:2012-02-03 23:34:53 【问题描述】:

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

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

【问题讨论】:

另一种解决方案:***.com/questions/40585360/… 【参考方案1】:

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

样本:

<style name="ZFieldStyle">
    <conditionalStyle>
        <conditionExpression><![CDATA[$FZ < $FY]]></conditionExpression>
        <style forecolor="#000000"/>
    </conditionalStyle>
    <conditionalStyle>
        <conditionExpression><![CDATA[$FZ>$FX]]></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"  />
    <textElement/>
    <textFieldExpression><![CDATA[$FZ]]></textFieldExpression>
</textField>

【讨论】:

还有几个问题。为什么我不能对背景色做同样的事情?另外,当我这样做时,单元格边框颜色也会改变......有没有办法防止这种情况? 样式中可以使用backcolor属性

以上是关于根据 JasperReports 中的条件更改文本字段数据颜色(前景色)的主要内容,如果未能解决你的问题,请参考以下文章

Flutter Forms:有没有办法根据某些条件更改输入文本的颜色?

如何根据 Redux Form 中的另一个输入有条件地显示一个输入?

如何有条件地格式化连续形式的文本框边框?

根据条件编译符号更改exe的名称

如何根据 Vue.js 2.6.11 和 Viutify 2.2.11 的条件更改 <v-data-table> 中列值的文本和颜色

Flex:当自定义 itemrenderers 中的文本更改时,强制重绘 DataGrid