odoo 学习 - 高级视图

本文详细介绍了Odoo中的高级视图,包括树视图的自定义行为,如根据记录属性改变行样式和启用直接编辑功能;日历视图的设置,如通过字段颜色和时间区分事件;搜索视图的过滤域和预定义搜索;以及甘特图的使用,用于展示项目计划和进度。通过对这些视图的理解和应用,可以提升Odoo系统的用户体验和管理效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

高级视图

树视图

树视图可以采用辅助属性来进一步自定义其行为:

decoration-{$name}

允许根据对应记录属性修改行的文本风格。对于每个记录,将使用记录的属性作为上下文来计算表达式,如果值为true,则将相应的样式应用于行。其他上下文值为uid(当前用户的标识)和current_date(yyyy-MM-dd格式的当前日期字符串)。{$name}可以是bf(font-weight:bold)、it(font-style:italic)或任何bootstrap上下文颜色(danger,info,muted,primary,success,warning)

<tree string="Idea Categories" decoration-info="state=='draft'"
    decoration-danger="state=='trashed'">
    <field name="name"/>
    <field name="state"/>
</tree>

editable

top和bottom使树视图可直接编辑(而不需要通过表单视图),其值就是新行出现的位置。


日历

将记录显示为日历活动,通过将根元素设置为,主要的属性有:

color:字段的名称通过颜色来区分。颜色会自动分配给事件,但相同颜色定义的事件(@color属性有相同值的记录)将被使用相同的颜色。
date_start:记录中用于保存事件开始日期/时间的字段。
date_stop(可选):记录中用于保存时间结束日期/时间的字段。

为每个日历事件定义标签的字段

<calendar string="Ideas" date_start="invent_date" color="inventor_id">
    <field name="name"/>
</calendar>

搜索视图

搜索视图的元素可以使用@filter_domain覆盖为在给定字段上搜索而生成的域。在给定的域中,self表示用户输入的值。在下面的示例中,它用于搜索两个字段name和description。搜索视图还可以包含元素,这些元素用作预定义搜索的切换。过滤器必须具有以下属性之一:

domain:给搜索指定domain表达式
context:给搜索指定上下文;使用group_by对结果进行分组。

<search string="Ideas">
    <field name="name"/>
    <field name="description" string="Name and description"
           filter_domain="['|', ('name', 'ilike', self), ('description', 'ilike', self)]"/>
    <field name="inventor_id"/>
    <field name="country_id" widget="selection"/>

    <filter name="my_ideas" string="My Ideas"
            domain="[('inventor_id', '=', uid)]"/>
    <group string="Group By">
        <filter name="group_by_inventor" string="Inventor"
                context="{'group_by': 'inventor_id'}"/>
    </group>
</search>

对于非默认的搜索视图,使用search_view_id字段。而通过context字段为搜索字段设置默认值:search_default_field_name表单的上下文关键字将初始化field_name的值。搜索过滤器必须有


甘特图

水平条状的甘特图通常用于显示项目计划和进度,根元素是<gantt>。

<gantt string="Ideas"
       date_start="invent_date"
       date_stop="date_finished"
       progress="progress"
       default_group_by="inventor_id" />
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值