如何在 odoo 的tree视图中隐藏特定列

使用如下代码:

<field name="progress" attrs="{'column_invisible':[('parent.state','in', 
['draft'])]}"/> 

在 XML 中:

<notebook>
      <page name="Lines">
          <field name="task_line_ids">
              <tree string="Tasklines" editable="bottom"> 
                  <field name="product_id" /> 
                  <field name="description"/> 
                  <field name="um_id"/> 
                  <field name="progress" attrs="{'column_invisible': 
                  [('parent.state','in',['draft'])]}"/>               
              </tree> 
          </field>  
     </page>
</notebook>

此代码用于在 odoo11(及以后) 中隐藏 one2many(tree) 中的字段
这种类型的代码仅适用于条件为“父”的情况
另外:

attrs="{'column_invisible': ['|', (Your First Domain), (Your Second Domain)]}"

首先,如果它满足条件,它会检查您的 First域,然后它将执行隐藏,如果不满足第一个条件,那么它将检查第二个条件。

文档翻译

该column_invisible属性用于 Odoo 视图的 XML 定义中,以指定某个字段不应显示在视图中。它通常用于树视图,但也可以用于其他类型的视图。

要使用该column_invisible属性,您需要将其包含在要隐藏的字段的元素中。例如,要在树视图中隐藏“描述”字段,您可以使用以下 XML:

<tree>
    <field name="name" />
    <field name="status" />
    <field name="description" column_invisible="1" />
</tree>

在此示例中,“name”和“status”字段将显示在树视图中,但“description”字段将被隐藏。

您还可以将column_invisible属性与 attrs属性结合使用,attrs以指定应根据特定条件隐藏某个字段。例如,您可以使用以下 XML 仅在“status”字段的值为“done”时隐藏“description”字段:

<tree>
    <field name="name" />
    <field name="status" />
    <field name="description" column_invisible="1" attrs="{'invisible': [('status', '=', 'done')]}" />
</tree>

在此示例中,该attrs属性用于指定一个域,该域确定何时应隐藏“description”字段。该域的语法与column_invisible属性中使用的域相同,其中包含一个元组列表,指定要隐藏该字段必须满足的条件。

猜你喜欢

转载自blog.csdn.net/iuv_li/article/details/128602143