高级视图
树视图
树视图可以采用辅助属性来进一步自定义其行为:
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" />