[英]Jasper Ireport Alternate row colors with custom style
我在報告中添加了條件樣式,以替換行樣式,如下所示:
<style name="tab_page_4">
<conditionalStyle>
<conditionExpression><![CDATA[$V{REPORT_COUNT}%2 == 1]]></conditionExpression>
<style forecolor="#FFFFFF" backcolor="#E7ECF4"/>
</conditionalStyle>
</style>
<reportElement key="textField" style="tab_page_4" mode="Opaque" x="11" y="5" width="94" height="15" forecolor="#00597C" backcolor="#FFFFFF" uuid="4ea6f9a0-d1c8-42f0-8ae4-7c9780fcfe3d"/>
當我生成報告時,自定義樣式無效。
我忘記了什么?
使用條件樣式時,刪除元素中的所有樣式數據很重要。 這意味着在這種情況mode
,應刪除元素mode
, forecolor
和backcolor
以便使用樣式。
使用條件為該元素顯式設置原色時,可以在元素上設置例如forecolor
。 但是通常所有的着色都會隨着條件樣式而發生。
編輯
正如Alex K指出的那樣,請確保條件樣式還設置了mode="Opaque"
:
<style name="tab_page_4" mode="Opaque">
....
</style>
或者,如果使用條件樣式:
<conditionalStyle>
<conditionExpression>...</conditionExpression>
<style mode="Opaque" .../>
</conditionalStyle>
我通過遵循@Alex K和@ Tobi6的注釋來解決錯誤
現在,我的ireport的代碼如下:
<style name="tab_page_4">
<conditionalStyle>
<conditionExpression><![CDATA[$V{REPORT_COUNT}%2 == 1]]></conditionExpression>
<style mode="Opaque" forecolor="#00597C" backcolor="#E7ECF4"/>
</conditionalStyle>
<conditionalStyle>
<conditionExpression><![CDATA[$V{REPORT_COUNT}%2 == 0]]></conditionExpression>
<style mode="Opaque" forecolor="#00597C" backcolor="#FFFFFF"/>
</conditionalStyle>
</style>
在我的元素中:
<reportElement key="textField" style="tab_page_4" x="0" y="0" width="105" height="25" uuid="4ea6f9a0-d1c8-42f0-8ae4-7c9780fcfe3d"/>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.