Day10 Let's ODOO: View(3) Search View

Search View在Odoo内非常常见,可以帮助使用者快速搜寻、过滤、分类需要的资料,因此透过设定好Search View可以在大量的资料底下帮助使用者达到目的地,而设定Search View我们可以从两个方面设定,第一个是由Code设定,第二个是由Odoo介面设定,我们将会介绍这两种用法。

https://ithelp.ithome.com.tw/upload/images/20210925/20130896nW9QpY6Xau.png

Code

<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>标签内代表的意义

  1. <field> 对应搜寻逻辑,此处我们将namenickname两个作为搜寻field,因此当我们搜寻字串时,便会比对名字与绰号是否有相符,如图所示:
    https://ithelp.ithome.com.tw/upload/images/20210925/20130896vygMUjtUHD.png
    https://ithelp.ithome.com.tw/upload/images/20210925/20130896lvawhCCGxN.png

  2. <filter>对应过滤逻辑,我们将is_active栏位作为过滤栏位,domain内是过滤逻辑,string则是显示的字串,当我们选择此过滤器只会显示在学的学生,如图所示:
    https://ithelp.ithome.com.tw/upload/images/20210925/201308964hty9poRCY.png
    https://ithelp.ithome.com.tw/upload/images/20210925/201308963xLWmJZnMY.png

  3. <group>对应分类逻辑,我们将性别作为分类依据写法就为context="{'group_by':'<Field_Name>'}" ,如图所示:
    https://ithelp.ithome.com.tw/upload/images/20210925/20130896NTPillcUJa.png
    https://ithelp.ithome.com.tw/upload/images/20210925/20130896ois1vabcZy.png

这三种方法是可以交错使用的,例如你可以搜寻过後再做group by,并且Form和Tree内也都会生效。

ODOO Interface

Filter里有个Add customer filter选项,只要定义好Key和Value就可以简单做出自己想要的过滤,而Group也有,只要选择field就会根据value帮你分类。

https://ithelp.ithome.com.tw/upload/images/20210925/20130896OP4r6jEvBM.png

Favorites

而第三格favorites可以让使用者储存现在定义好的Filter,可以储存为预设,让之後进到页面的时候都会以这个Filter作为起始。另外也可以将自己定义好的Searching分享给其他人使用。

https://ithelp.ithome.com.tw/upload/images/20210925/20130896qUNRKN2pxG.png

如果後续需要调整Favorites内的参数则需要打开开发者模式,便可以看到之前定义的Filters与对应的Model和Domain,也可以在这里增删改。

https://ithelp.ithome.com.tw/upload/images/20210925/20130896JuwghpGV3b.png

当自己定义好的filter分享给其他人时,要删除此filter必须透过Admin权限去删除。

Search View的介绍就到这里,明天来介绍ODOO的Controller。


<<:  Day13: GuardDuty结果汇出至S3、发送告警Email设定

>>:  [iT铁人赛Day25]练习题(4)

08 - fd - 快速查找档案与目录

find 是个在查找档案的指令,但是它的预设行为并不是这麽的直观,需要使用特定的参数才能以一般搜寻的...

Day9 Collectionview小实作3

继续昨天。 我们先建立一个struct,四个变数,以及init(初始化)这些变数, 後让他们委任自己...

free watch venom let there be carnage 2021 full movie download

15 sec ago !~MOBAMOVIEFLIX~NETFLIX-OFFICIAL+]~SOUN...

JavaScript入门 Day25_物件2

今天要讲的是怎麽把物件里的东西印出来 昨天我们使用了物件这个资料型态 那我们看看怎麽印出来吧~ va...

EP 23: SQLite DB in Android and iOS for TopStore App

Hello, 各位 iT邦帮忙 的粉丝们大家好~~~ 本篇是 Re: 从零开始用 Xamarin 技...