odoo10學習筆記五:高級視圖


原文地址: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的混合。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM