感谢大家,感谢Alex K,我找到了原因。这可能是ireport 3.0的错误。外部样式标签不应包含颜色属性。我删除它,它运行良好。
==================================================== ============================== 我在JasperReports的报告中遇到了关于条件样式表达式的麻烦。iReport的版本是 3.0。
我刚刚发现布尔表达式根本不起作用。
条件样式:
<style
name="old"
mode="Opaque"
**forecolor="#990033"**
>
<conditionalStyle>
<conditionExpression><![CDATA[$F{age}.intValue()>60?new Boolean(true):new Boolean(false)]]></conditionExpression>
<style
name="old"
isDefault="false"
mode="Opaque"
forecolor="#990033"
>
</style>
</conditionalStyle>
</style>
文本字段表达式:
<textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" >
<reportElement
style="old"
x="315"
y="0"
width="78"
height="14"
key="textField-3"/>
<box></box>
<textElement>
<font/>
</textElement>
<textFieldExpression class="java.lang.Integer"><![CDATA[$F{age}]]></textFieldExpression>
</textField>
结果是所有年龄都会变红,即使年龄小于 60 岁;