Search View在Odoo内非常常见,可以帮助使用者快速搜寻、过滤、分类需要的资料,因此透过设定好Search View可以在大量的资料底下帮助使用者达到目的地,而设定Search View我们可以从两个方面设定,第一个是由Code设定,第二个是由Odoo介面设定,我们将会介绍这两种用法。
<record id="view_res_student_search" model="ir.ui.view">
<field name="name">res.student.search</field>
<field name="model">res.student</field>
<field name="arch" type="xml">
<search string="Student Search">
<field name="name" filter_domain="[('name', 'like', self)]"/>
<field name="nickname" filter_domain="[('nickname', 'like', self)]"/>
<filter name='is_active' string="IsActive" domain="[('is_active', '=', True)]"/>
<group string="Group By">
<filter name='gender' string='Gender' context="{'group_by':'gender'}"/>
</group>
</search>
</field>
</record>
主要结构跟之前介绍的相同,接下来来介绍<search>
标签内代表的意义
<field>
对应搜寻逻辑,此处我们将name
与nickname
两个作为搜寻field,因此当我们搜寻字串时,便会比对名字与绰号是否有相符,如图所示:
<filter>
对应过滤逻辑,我们将is_active
栏位作为过滤栏位,domain
内是过滤逻辑,string
则是显示的字串,当我们选择此过滤器只会显示在学的学生,如图所示:
<group>
对应分类逻辑,我们将性别作为分类依据写法就为context="{'group_by':'<Field_Name>'}"
,如图所示:
这三种方法是可以交错使用的,例如你可以搜寻过後再做group by,并且Form和Tree内也都会生效。
Filter里有个Add customer filter选项,只要定义好Key和Value就可以简单做出自己想要的过滤,而Group也有,只要选择field就会根据value帮你分类。
而第三格favorites可以让使用者储存现在定义好的Filter,可以储存为预设,让之後进到页面的时候都会以这个Filter作为起始。另外也可以将自己定义好的Searching分享给其他人使用。
如果後续需要调整Favorites内的参数则需要打开开发者模式,便可以看到之前定义的Filters与对应的Model和Domain,也可以在这里增删改。
当自己定义好的filter分享给其他人时,要删除此filter必须透过Admin权限去删除。
Search View的介绍就到这里,明天来介绍ODOO的Controller。
<<: Day13: GuardDuty结果汇出至S3、发送告警Email设定
find 是个在查找档案的指令,但是它的预设行为并不是这麽的直观,需要使用特定的参数才能以一般搜寻的...
继续昨天。 我们先建立一个struct,四个变数,以及init(初始化)这些变数, 後让他们委任自己...
15 sec ago !~MOBAMOVIEFLIX~NETFLIX-OFFICIAL+]~SOUN...
今天要讲的是怎麽把物件里的东西印出来 昨天我们使用了物件这个资料型态 那我们看看怎麽印出来吧~ va...
Hello, 各位 iT邦帮忙 的粉丝们大家好~~~ 本篇是 Re: 从零开始用 Xamarin 技...