交叉表测量字段的条件样式不起作用

The condition style on measure field of crosstab is not working

我对 JasperReport 的交叉表有疑问。

我想在度量字段上添加样式,但它不起作用。可不可以?

第一列的样式没问题。

我用过这种风格:

<style name="proba" mode="Opaque">
    <conditionalStyle>
        <conditionExpression><![CDATA[$V{BR_kupaca}< 5.0 ]]></conditionExpression>
        <style mode="Opaque" forecolor="#FF0000" backcolor="#CCFFCC">
            <pen lineWidth="0.25" lineColor="#FF0000"/>
        </style>
    </conditionalStyle>
</style>

在设计器中代表度量的字段:BR_kupaca,在样式中我放置了该样式概率。但是什么都没发生——我的值总是黑色的。

我想将每个小于 5 的值都涂成红色

发生这种情况很可能是因为您的交叉表单元格包含一个前景色专门设置为黑色的文本字段 (#000000)。

当直接在元素上设置样式属性(前景色、背景色、字体 name/size 等)时,它优先于从指定样式继承的值。

所以您需要做的是找到应用了 "proba" 样式的文本字段:

<textField><reportElement style="proba" .... />...</textField>

并删除 reportElement.

中的 forecolor 属性

另一个原因可能是(对于与 Backcolor 有基本相同问题的其他人 - 像我们一样)TransparentText field 值可以设置为 "nothing" (<Inherited>) 并继承 true 而不是 false。 直接将其设置为 false 是直接的解决方案。