【发布时间】:2013-07-11 23:51:13
【问题描述】:
感谢大家,感谢 Alex K,我找到了原因。这可能是 报告 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 岁;
【问题讨论】:
-
在我看来,您的风格声明是错误的。样本:
<style name="rowStyle" mode="Opaque"> <conditionalStyle> <conditionExpression><![CDATA[$V{typeGroup_COUNT} % 2 ==0]]></conditionExpression> <style backcolor="#CCFFFF"/> </conditionalStyle> </style> -
我之前更新了源码。以另一种方式更改布尔表达式,并通过有关条件样式的完整代码。
-
最好将您的解决方案作为答案发布
标签: styles jasper-reports