原文地址:http://www.cnblogs.com/ygj0930/p/7119877.html
樹視圖
tree視圖表現出來是列表視圖,列表中一行一紀錄。可以根據每行紀錄的某字段值不同而把每行以不同樣式顯示。
decoration-{樣式}="條件"
樣式主要有:
bf(font-weight:bold):字體加粗
it(font-style:italic):斜體字
danger:紅色字體
info:藍色字體
muted:灰色字體
primary:紫色字體
success:綠色字體
warning:棕色字體
<field name="arch" type="xml">
<tree string="" decoration-樣式="條件表達式">
<field name="用於判斷的字段" invisible="1"/>
<field name="其他字段"/>
</tree>
</field>
日歷視圖
將記錄顯示為日歷活動,根元素為<calendar>。
主要的屬性有:color
不同字段值的記錄通過顏色來區分。date_start
記錄中開始日期/時間的字段。date_stop(可選)
記錄中結束日期/時間的字段。
<record model="ir.ui.view" id="_calendar_view">
<field name="name"></field>
<field name="model"></field>
<field name="arch" type="xml">
<calendar string="" date_start="start_date字段"
date_stop="end_date字段"
color="用於區分顏色的字段">
<field name="日歷視圖中需要顯示的字段"/>
</calendar>
</field>
</record>
記得在模型的act_window標簽中,把日歷視圖添加進去
<field name="view_mode">...,calendar</field>
搜索視圖
搜索視圖還可以包含<filter>元素,定制過濾器。
過濾器必須具有以下屬性之一:domain
給搜索指定domain表達式context
給搜索指定上下文;使用group_by對結果進行分組。
<filter name="過濾器ID" string="顯示內容"
domain="[(過濾條件)]"/>
<filter name="group_by_過濾字段" string=""
context="{'group_by': '過濾字段'}"/>
其中:使用domain是篩選:

使用context是分組:

當有多個過濾器時,可以在該模型的act_window中指定默認過濾器以及過濾值,使得點擊菜單跳轉到該窗口時自動調用過濾器進行顯示:
<record model="ir.actions.act_window" id="_action">
<field name="name"></field>
<field name="res_model"></field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="context" eval="{'search_default_過濾器name': 過濾值}"/>
甘特圖(注意:社區版不支持甘特圖!所以不會顯示)
水平條狀的甘特圖通常用於顯示項目計划和進度,根元素是<gantt>。
<record model="ir.ui.view" id="_gantt_view">
<field name="name"></field>
<field name="model"></field>
<field name="arch" type="xml">
<gantt string="" color="區分顏色的字段"
date_start="開始字段" date_delay="持續字段"
default_group_by="分組字段">
<field name="甘特圖顯示字段"/>
</gantt>
</field>
</record>
最后,別忘了在模型對應的act_window添加gantt視圖顯示。
圖形視圖
圖形視圖用來表示對模型的概述和分析,根元素是<graph>。
圖表視圖可將數據進行聚合顯示,使用graph元素來定義,一共有4種顯示模式:
Bar(默認值)
條形圖,第一個維度用於在水平軸上定義組,其它維度定義每個組的聚合條。默認情況下,條是並排的,也可以通過<graph>的@stacked="True"來讓條堆疊。
Line
2維折線圖
Pie
2維餅圖
<field>元素有type屬性定義值:
row(默認值):按紀錄行來統計該字段值的百分比。
measure:按字段名來統計該字段值的百分比。
圖形視圖只能對數據庫字段進行聚合,不能對不存儲在數據庫的計算字段進行聚合。
<record model="ir.ui.view" id="_graph_view">
<field name="name">.graph</field>
<field name="model"></field>
<field name="arch" type="xml">
<graph string="">
<field name="坐標,用於顯示被統計的個體名"
<field name="指標" type="row/measure"/> #指定統計的指標,以內容來統計。type指定統計的方式:按行統計還是按字段類型統計
</graph>
</field>
</record>
看板視圖
看板視圖用於顯示待辦任務,生產進度等,以卡片的形式進行顯示,根元素是<kanban>。
看板視圖顯示一組可按列分組的卡片。每個卡片表示一個記錄,每列都顯示聚合字段的值。
看板視圖將每個卡的結構定義為表單元素(包括基本HTML)和QWeb的混合。

