一排树视图 odoo

row of tree views odoo

当记录具有 "x" 状态时,我试图在树视图中隐藏整行,问题是我可以通过在每个字段中放置 {invisible} 属性来将其隐藏,但是这不是我想要的,因为这允许我 select 如下图所示的记录:

enter image description here

这是我在树视图中的代码:

<record id="dues_control_tree" model="ir.ui.view">
        <field name="name">dues.control.tree</field>
        <field name="model">dues.control</field>
        <field name="arch" type="xml">
            <tree string="Listado De Pagos" decoration-info ="status==2" decoration-danger ="status==1">
              <field name="re_customer" attrs="{'invisible':[('status', '=', 2)]}" />
              <field name="n_invoice" attrs="{'invisible':[('status', '=', 2)]}" />
              <field name="amount_total" attrs="{'invisible':[('status', '=', 2)]}" />
              <field name="number_dues" attrs="{'invisible':[('status', '=', 2)]}" />
              <field name="amount_dues" attrs="{'invisible':[('status', '=', 2)]}" /> 
              <field name="pay_amount_dues" attrs="{'invisible':[('status', '=', 2)]}"/>
              <field name="status" attrs="{'invisible':[('status', '=', 2)]}"/>
            </tree>
        </field>
    </record>

问题是我希望它不被看到,并且当您具有 X 状态时不能 select编辑整行。

您正在尝试为此树视图实施记录规则。 最好的方法是使用 ir.actions.server 而不是 ir.actions.window。 (当有人点击菜单项时触发并显示此树视图的操作) 您可以在该操作服务器上设置域并限制要显示的行。 在操作服务器的代码字段上,您可以向 运行 提及一个函数,并在客户端单击相关菜单项时在显示行上设置域。 在该函数上设置域以不显示状态 = X 的记录。 This is a solution sample 我相信这会解决你的问题,尽力而为。

您不必使所有行不可见,而是使用域。 这有助于

<record model="ir.actions.act_window" id="your_action_id">
   <field name="name">dues.control.action</field>
   <field name="res_model">dues.control</field>
   <field name="view_mode">tree,form</field>
   <field name="domain">
         [('status', '!=', 2)]
   </field>
</record>