感謝大家,感謝Alex K,我明白了原因。這可能是 ireport 3.0的bug。 外部樣式標記不應包含顏色屬性。 我刪除它,它運作良好。有條件風格的麻煩
============================================== ================================== 我在報告中遇到了有關條件式表達式的疑問,其中包括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歲;
在我看來,你的樣式聲明是錯誤的。樣品:'<樣式名稱= 「rowStyle」 模式= 「不透明」> \t \t \t \t \t <![CDATA [$ V {typeGroup_COUNT}%2 == 0]]!> conditionExpression> \t \t \t <風格背景色= 「#CCFFFF」/> \t \t conditionalStyle> \t' –
我之前更新的源代碼。以另一種方式更改布爾表達式,並通過有關條件樣式的完整代碼。 –
感謝Alex K的好主意,最好發佈您的解決方案作爲答案 –