Odoo14 searchpanel用法详解
searchpanel
允许在任何多记录视图的左侧显示搜索面板。默认情况下,列表和看板视图启用了搜索面板。可以在具有以下属性的其他视图上激活搜索面板:
view_types
以逗号分隔的视图类型列表,在其上启用搜索面板默认值:‘tree,kanban’
该工具允许根据给定字段快速过滤数据。这些字段被指定为带有标签名称的直接子代,以及以下属性:searchpanelfield
name(强制的)
要过滤的字段的名称
select
决定行为和显示。可能的值是
one(默认)最多可以选择一个值。支持的字段类型有 many2one 和 selection。
multi可以选择多个值(复选框)。支持的字段类型有 many2one、many2many 和 selection。
groups
限制特定用户
string
确定要显示的标签
icon
指定使用哪个图标
color
确定图标颜色
在这种情况下可以使用其他可选属性multi:
enable_counters
默认为假。如果设置为 true,则记录计数器将被计算并显示(如果非零)。
已实施此功能以防性能太差。
解决性能问题的另一种方法是正确重写 search_panel_select_range和search_panel_select_multi_range方法。
expand
默认为假。如果设置为 false 类别或具有 0 条记录的过滤器将被隐藏。
limit
默认值为 200。整数确定要为该字段获取的最大值数。如果达到限制,搜索面板中将不会显示任何值,而是会出现一条错误消息,因为我们认为这是无用的/性能不佳。如果设置为 0,将获取所有值。
根据所选案例,可以使用其他可选属性:
对于one案例:
hierarchize
(仅适用于 many2one 字段)默认为真。处理类别的显示样式:
如果设置为真,子类别将出现在其相关父类别下。否则,所有类别将显示在同一级别。
对于multi案例:
domain:
确定共同模型记录必须满足的条件。
域可用于表达对搜索面板的另一个字段(选择=“one”)的依赖。考虑 /!This 属性与启用计数器的 select=“one” 不兼容;如果一个 select=”multi” 有一个domain属性,所有 select=”one” 的计数器都会被禁用。
<searchpanel>
<field name="department_id"/>
<field name="manager_id" select="multi" domain="[('department_id', '=', department_id)]"/>
<searchpanel/>
在上面的示例中,屏幕上可用的 manager_id(经理姓名)的值范围将取决于当前为该字段选择的值department_id。
groupby:comodel 的字段名称(仅适用于 many2one 和 many2many 字段)。值将按该字段分组。