2017-03-09 36 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