3

我有一个提供数据表的报告。到目前为止,该报告效果很好。
现在我需要根据它们的内容值对一些单元格进行着色。
我曾经在文本字段表达式中包含配色方案,例如:

($F{MyBooleanValue}==true)?"<style backcolor='green'>PASS</style>":"<style backcolor='red'>FAIL</style>"  

这行得通,但它很脏,管理和重用是地狱。

所以我转向了条件格式功能。我定义了一个名为Colourised的基础样式。然后是两个非常基本的条件样式:

Colourised:  
    opaque = true  
pass:  
    opaque = true  
    Condition Expression = "true"  
    Backcolor = [51,255,51]
fail:  
    opaque = true  
    Condition Expression = "false"  
    Backcolor = [255,102,102]  

这通常应该将单元格的背景颜色更改为绿色(独立于单元格值)。

现在我尝试使用以下属性在我的单元格上使用这种格式,但单元格仍然是白色的。

MyCell:  
    opaque = true  
    Text Field Expression = "$F{MyBooleanValue}"  
    Style = "Colourised"  

我还设置了评估属性

<property name="net.sf.jasperreports.style.evaluation.time.enabled" value="true"/>  

有什么提示吗?有什么我忽略的吗?

4

1 回答 1

2

好的,经过一番挖掘,我发现了单元格属性:

MyCell:
    Markup = "styled"  

需要设置为:

MyCell:
    Markup = "none"  

然后背景显示正确的颜色。

于 2012-11-16T13:14:48.357 回答