RML 文档的动态样式

Dynamic style on RML documents

我需要的是让 table 的每一行具有不同的背景颜色。我已经成功创建了可以从 rml 文档和 returns 十六进制颜色调用的方法。我需要的是在 rml 端将 tr 标记的 background-colour 属性设置为我的方法的 return 值的方法。如何才能做到这一点 ?我一直在使用官方 documentation 并专门查看第 11 章条件格式,但我没有看到任何内容。基本上我想做的是:

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

_get_colour 将 return 一个包含颜色的十六进制值的字符串

编辑: 事实证明,根据 this,用于条件格式的 docIf RML 标签并未在 openerp v7 中实现,我不得不求助于不同的解决方案。

目前无法对此进行测试,但这里有一个可能可行的想法:

每次迭代制作两个 <tr>(每种样式 1 个)。在其中一个中,检查索引是否为偶数或 removeParentNode('tr'),在另一个中,检查索引是否为奇数或 removeParentNode('tr')。这样,每次迭代只会显示一个或另一个 table 行,而不是同时显示。

示例(未经测试):

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

我在系统的 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'}) ]]