odoo10學習筆記五:高級視圖

 

轉載請註明原文地址:http://www.javashuo.com/article/p-kpdyzjnb-ma.html html

 

樹視圖

tree視圖表現出來是列表視圖,列表中一行一紀錄。能夠根據每行紀錄的某字段值不一樣而把每行以不一樣樣式顯示。數據庫

decoration-{樣式}="條件"

樣式主要有:dom

bf(font-weight:bold):字體加粗學習

it(font-style:italic):斜體字字體

danger:紅色字體ui

info:藍色字體spa

muted:灰色字體code

primary:紫色字體orm

success:綠色字體
warning:棕色字體
xml

複製代碼
複製代碼
 <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的混合。

相關文章
相關標籤/搜索