我在 jasperreport 中有一个文本字段。现在我需要动态传递该字段的文本颜色。
我尝试过使用 iReport 设计器,但到目前为止找不到任何相关的解决方案。
这有可能实现吗?
最佳答案
您可以在条件下使用 Style
。或者您可以使用具有可见性条件的不同元素(例如 textField)- printWhenExpression
。
更多细节你可以看这个discussion .
使用样式
的示例。当产品成本大于 12.0 且小于或等于时,将“产品位置”textField
的 forecolor
属性设置为红色低于 14.0 并在成本大于 14.0 时将其设置为绿色:
<style name="ColoredField">
<conditionalStyle>
<conditionExpression><![CDATA[Boolean.valueOf($F{PRODUCT_COST} > 12.0 && $F{PRODUCT_COST} <= 14.0)]]></conditionExpression>
<style forecolor="#FF0000"/>
</conditionalStyle>
<conditionalStyle>
<conditionExpression><![CDATA[Boolean.valueOf($F{PRODUCT_COST} > 14.0)]]></conditionExpression>
<style forecolor="#00FF99"/>
</conditionalStyle>
</style>
...
<detail>
<band height="21" splitType="Stretch">
<textField>
<reportElement style="ColoredField" x="78" y="1" width="100" height="20"/>
<textElement/>
<textFieldExpression><![CDATA[$F{PRODUCT_NAME}]]></textFieldExpression>
</textField>
关于java - 如何将动态前景色应用于 JasperReport 中的文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7979099/