如何隐藏odoo 12中的列?

时间:2019-03-21 17:11:31

标签: odoo-12

请我需要在表格视图external_id =“ sale.view_order_form”的表“订单行”中隐藏“描述”列,如果details == True,则隐藏此列

这是python代码:

class ClassSaleOrder(models.Model):
    _inherit = 'sale.order'
    details = fields.Boolean()

这是xml文件:

<record id="module_sale_order_line_form" model="ir.ui.view">
    <field name="name">module.sale.order.line.form</field>
    <field name="model">sale.order</field>
    <field name="inherit_id" ref="sale.view_order_form"/>
    <field name="arch" type="xml">
        <xpath expr="//field[@name='partner_id']" position="after">
            <field name="details"/>
        </xpath>
    </field>
</record>

2 个答案:

答案 0 :(得分:0)

您需要使用position='attributes'并为invisible属性定义值。

<xpath expr="//field[@name='order_line']/form/group/field[@name='name']" position="attributes">
    <attribute name="invisible">[('details', '=', True)]</attribute>                
</xpath>

答案 1 :(得分:0)

使用以下代码在细节为真时使描述字段不可见

<xpath expr="//field[@name='order_line']/tree/field[@name='name']" position="attributes">
    <attribute name="attrs">{'invisible':[('details', '=', True)]}</attribute>                
</xpath>