如何在Odoo 16.0树形视图中隐藏复选框选择列
Odoo 16.0 树形视图隐藏记录选择器或删除操作的解决方案
需求:在Odoo 16.0的树形视图中隐藏记录选择器(复选框列),确保只能逐个操作单条记录;或者作为替代方案,隐藏树形视图中的删除操作。之前尝试全局CSS会影响所有模型,现在需要针对指定模型cetiia_registro.registro处理。
方案一:隐藏记录选择器(复选框列)
方法1:使用官方XML属性(推荐)
直接在树形视图的<tree>标签中添加disable_multi_selection="1"属性,即可禁用多选功能并隐藏复选框列,仅对当前模型生效:
<record model="ir.ui.view" id="cetiia_registro.list"> <field name="name">list</field> <field name="model">cetiia_registro.registro</field> <field name="arch" type="xml"> <tree disable_multi_selection="1"> <field name="id" /> <field name="email" /> <field name="website_name" /> <field name="website_url" widget="url" options="{'target': 'new'}" string="Website URL" /> <button string="Editar" type="object" name="action_open_edit_form" /> <button string="Ver sitio" type="object" name="action_view_website" /> </tree> </field> </record>
方法2:局部CSS(精准控制)
如果偏好CSS方式,给当前树形视图添加专属类,再通过CSS隐藏复选框,避免影响其他模型:
- 修改XML,给
<tree>标签添加自定义类:
<tree class="cetiia-registro-tree">
- 在模块的CSS文件中添加样式:
.cetiia-registro-tree .o_list_record_selector { display: none; }
注意:需确保CSS文件已正确配置到模块的assets资源中,才能正常加载。
方案二:隐藏树形视图中的删除操作
方法1:移除模型删除权限
在模型的权限配置(ir.model.access)中,移除对应用户组的删除权限,树形视图的删除按钮会自动隐藏。
方法2:XML属性控制
在<tree>标签中添加delete="false"属性,直接隐藏删除按钮并禁用删除功能:
<tree delete="false">
内容的提问来源于stack exchange,提问作者Jhordy Said Barrera
相关产品推荐
相关产品推荐

