簡體   English   中英

Jasper Ireport具有自定義樣式的備用行顏色

[英]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 ,應刪除元素modeforecolorbackcolor以便使用樣式。

使用條件為該元素顯式設置原色時,可以在元素上設置例如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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM