是否可以在Odoo中的字段上实现条件属性?

时间:2015-06-08 06:20:50

标签: xml attributes conditional odoo-8 odoo

有人知道是否可以在字段上实现条件属性?

例如:

<field name="name"/>

如果符合条件:

<field name="name" string="Custom Name"/>

我试过这种方法:

<field name="name" attrs="{'invisible': [('condition', '=', False)]}"/>
<field name="name" string="Custom Name" attrs="{'invisible': [('condition', '=', True)]}"/>

条件更改时,标签也会更改,但字段会停止正常工作。我的意思是它只记录第二个字段name的输入值。如果我将条件更改为False,则它不会显示输入的值,就像新字段一样,即使它是相同的字段,只有一次它具有string属性,其他没有它。

3 个答案:

答案 0 :(得分:1)

您只能在表单视图中显示一次,就像您发现的那样。您只能使用以下条件属性:

Protected Sub lbFamilies_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
    Dim result = String.Join(",", From item In lbFamilies.Items.Cast(Of ListItem)()
                                  Where item.Selected
                                  Select item.Text)
End Sub

答案 1 :(得分:1)

您可以做的是添加标签。

<div >
    <label for="name" attrs="{'invisible': [('condition','=',False)]}"/>
    <label for="name" string="Custom String" attrs="{'invisible': [('condition','=',True)]}"/>
</div>
<field name="name" nolabel="1" />

唯一的问题是它在标签和字段值之间不会有垂直分隔符。

答案 2 :(得分:0)

如果要根据条件更新字段标签,那么您应该尝试使用fields_view_get。