高级视图
高级视图
tree 视图
tree 视图可以补充属性来进一步自定义他们的行为。
decoration-{$name}
允许根据相应记录的属性更改行文本的样式。
值是Python表达式。对于每个记录,表达式都使用记录的属性作为上下文值进行计算,如果true,相应的样式将应用于行。以下是上下文中可用的其他一些值:
uid当前用户的ID,today当前本地日期作为窗体的字符串YYYY-MM-DD,now与today加上当前的时间。此值被格式化为YYYY-MM-DD hh:mm:ss.
<tree string="Idea Categories" decoration-info="state=='draft'"
decoration-danger="state=='trashed'">
<field name="name"/>
<field name="state"/>
</tree>
editable
任一"top"或"bottom"。使树视图可以就地编辑(而不必遍历Form视图),值就是出现新行的位置。
参考:
{$name}可以bf (font-weight: bold), it (font-style: italic),或任何引导上下文颜色 (danger, info, muted, primary, success或warning).
calender 日历视图
将记录显示为日历事件。它们的根元素是<calendar>它们最常见的特点是:
color用于颜色分割。颜色自动分配给事件,但事件位于同一颜色段(记录的值与事件的值相同)。
@color字段)将被赋予相同的颜色。date_start记录的字段保存事件的开始日期/时间
date_stop(任择)记录的字段保存事件的结束日期/时间
stringRecord的字段来定义每个日历事件的标签
<calendar string="Ideas" date_start="invent_date" color="inventor_id">
<field name="name"/>
</calendar>
search 搜索视图
搜索视图<field>元素可以具有@filter_domain它覆盖为搜索给定字段而生成的域。在给定的域中,self表示用户输入的值。在下面的示例中,它用于搜索这两个字段。name和description.
搜索视图也可以包含<filter>元素,用作预定义搜索的切换。过滤器必须具有下列属性之一:
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将初始化字段名提供的价值。搜索筛选器必须有一个可选的@name拥有默认值并表现为布尔(只能在默认情况下启用)。
甘特图
注意:甘特图需要甘特模块,现阶段只有企业版才有。
水平条形图通常用于显示项目计划和进度,它们的根元素是<gantt>.
<gantt string="Ideas"
date_start="invent_date"
date_stop="date_finished"
progress="progress"
default_group_by="inventor_id" />
Graph 图形视图
graph 视图允许聚合模型的概述和分析,它们的根元素是<graph>.
图形视图有4种显示模式,默认模式使用@type属性。
条形图,为默认图形
一个条形图,第一个维度用于定义水平轴上的组,其他维度定义每个组内的聚合条。
默认情况下,条是并排的,可以通过使用@stacked="True"在<graph>
line
二维线图,需要示例
pie
二维饼图,需要示例
图视图<field>强制性的@type获取值的属性
<graph string="Total idea score by Inventor">
<field name="inventor_id"/>
<field name="score" type="measure"/>
</graph>
row(默认)
默认情况下,应该聚合该字段。
measure
字段应该聚合而不是分组在
注意:图视图只能对储存在数据库中的数据执行聚合,不能处理非存储字段。
示例代码 链接
看板
用于组织任务、生产过程等…它们的根元素是<kanban>.
Kanban视图显示了一组可能按列分组的卡片。每一张卡片代表一条记录,每一列表示聚合字段的值。
例如,项目任务可以按阶段(每一列是一个阶段)或按负责(每一列都是用户)来组织,依此类推。
看板视图将每张卡片的结构定义为表单元素(包括基本HTML)和QWeb模板.
示例代码 链接