2017-03-09 78 views
0

我需要的是讓表格的每個第二行具有不同的背景顏色。我已經成功創建了可以從rml文檔調用的方法,並返回十六進制顏色。我需要的是在rml方面的一種方法,將tr標記的background-color屬性設置爲我的方法的返回值。如何才能做到這一點 ?我一直在使用官方的documentation,並專門查看第11章條件格式,但我什麼也沒看到。基本上我想這樣做以下:RML文檔上的動態樣式

<tr style="background-colour: [[_get_colour(index)]];" /> 

_get_colour將返回包含一個顏色的十六進制值的字符串

編輯:事實證明所使用的docIf RML標籤根據this,在openerp v7中沒有實現條件格式化,我不得不求助於不同的解決方案。

回答

1

我發現在系統中的一個正在RML解決了這個問題的一個例子。我結束了與解決問題如下:

<tr>[[ setTag('tr','tr',{'style': 'Move_Line_Contect_Assign_State_background' if picking.move_lines.index(move_lines) % 2 else 'Move_Line_Contect_Assign_State'}) ]] 
1

不能在此刻進行測試,但這裏有可能的工作的想法:

取2個<tr>每次迭代(1爲每個樣式)。在其中一箇中,檢查索引是偶數還是removeParentNode('tr'),另一個是檢查索引是奇數還是removeParentNode('tr')。通過這種方式,每次迭代只會顯示一個或另一個表格行,但不能同時顯示。

實施例(未測試):

<tr style="style1">[[ (index%2 == 0 and display.content) or removeParentNode('tr')]]</tr> 
<tr style="style2">[[ (index%2 != 0 and display.content) or removeParentNode('tr')]]</tr> 
+0

這聽起來像一個偉大的解決方案,但在'index'變量沒有定義,因此它不適合我的工作,但我會用你的方法,因爲它的清潔劑來定義莫名其妙的索引變量 –

+0

對不起,我認爲你已經找到了一種方法來獲得'index',就像你在問題的例子中使用它。 – dgeorgiev