2016-05-30 33 views
-1

我已經添加conditionnal風格,我的備用行樣式的報告是這樣的:碧玉iReport的交替行的顏色與自定義樣式

<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"/> 

當我生成我的報告,自定義樣式不工作。

我忘了什麼?

+0

嘗試改變文本框定義:'' –

+0

我已刪除不透明屬性,無變化 –

+0

除去顏色?你忘了添加'模式=「不透明」的風格 –

回答

1

使用條件樣式時,刪除元素中的所有樣式數據非常重要。這意味着在這種情況下,應該刪除元素mode,forecolorbackcolor,以便使用樣式。

可以設置例如當使用條件爲該元素顯式設置forecolor時,元素上的forecolor。但通常所有的着色都會在條件風格下發生。

編輯

亞歷克斯ķ指出,確保條件樣式還設置mode="Opaque"

<style name="tab_page_4" mode="Opaque"> 
    .... 
</style> 

或者如果使用條件樣式:

<conditionalStyle> 
    <conditionExpression>...</conditionExpression> 
    <style mode="Opaque" .../> 
</conditionalStyle> 
+0

我刪除模式,forecolor和backcolor從元素,奇數行不出現 –

1

我解決的bug通過遵循@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"/>