odoo10 视图

<field name="priority" eval="16"/>  可以设置优先级, 值越小, 优先级越高

1 tree视图

tree视图可以通过一些额外的属性控制其行为

decoration-{$name} =- 值为true,则将相应的样式应用于行。
    - {$name}可以是bf(font-weight:bold)、it(font-style:italic)或任何bootstrap上下文颜色(danger,info,muted,primary,success,warning)
    - 上下文: uid(当前用户的标识)和current_date(yyyy-MM-dd格式的当前日期字符串)

editable = top/bottom        设置行内编辑, top/bottom就是添加新行时出现的位置。

注意: 在field字段里设置invisible = '1', 则该字段将不可见     # 此种做法仅为了取得该字段的值以方便docoration时根据值做不同的操作, 而不将其显示在前端

2 表单视图

一些标签的作用

sheet        旁边的背景
group        会自动生成label
notebook     将字段放到选项卡中

form视图里也可以直接写html, 但是要闭合单标签

3 搜索视图

odoo默认提供对name字段的搜索.
如果新增对其他字段的搜索用<search></search>

1 搜索视图可以通过filter_domain同时搜索两个字段, 在给定的domain中, self表示用户输入的值

<field name="description" string="Name and description" filter_domain="['|', ('name', 'ilike', self), ('description', 'ilike', self)]"/>

2 自定义过滤器  -->  <filter>

必须具有下列属性之一

  - domain : 【过滤】
  - context :【分组】使用group by 来对字段名分组

a 【过滤】
    <filter name="my_courses" string="My Courses" domain="[('responsible_id', '=', uid)]"/>
b 【分组】        # 只需要选择一个字段, 然后应用即可
    <filter name="by_responsible" string="Responsible" context="{'group_by': 'responsible_id'}"/>

3 设置默认的搜索动作

<field name="context" eval="{'search_default_my_courses': 1}"/>

4 <sepatator>的两个作用

1 将搜索字段和过滤器之间进行分组隔离
2 以(逻辑与)对搜索字段和过滤器进行连接
# 有一条分割线是separator这个标签在界面上显示的效果

4 日历视图

根元素: <calendar>
常用属性: color、date_start、date_stop

inverse函数使得字段可写, 即当字段被设置时, 该函数被调用

5 gantt(甘特图)

仅在专业版中有

水平条状的甘特图通常用于显示项目计划和进度

6 graph (图形视图)

图形视图有4中显示模式, 用@type属性选择默认模式

- Bar        (default)        条形图
- Line                        2维折线图
- Pie                        2维饼图

图形视图包含的<field>元素有@type属性定义值:

- row(默认值)
  该字段是聚合的
- measure
  该字段是分组后聚合的

注意: 图形视图是对数据库值进行聚合, 它们不适用于非存储(计算字段)的

7 看板视图

用于组织任务, 生产过程
看板视图显示一组可按列分组的卡片。每个卡片表示一个记录,每列都显示聚合字段的值。
看板视图将每个卡的结构定义为表单元素(包括基本HTML)和Qweb的混合

8 视图的继承

odoo不是通过覆盖来修改现有视图, 而是通过视图继承. 子视图不仅能够修改继承至父视图的自身内容, 而且能修改和删除俯视图中的内容.

同view的定义写法

1 多了inherit_id指向要改写的视图: <field name="inherit_id" ref="id_category_list"/>
2 在arch里用xpath定位改写的元素

<xpath expr="//field[@name='description']" position="after">
  <field name="idea_ids" string="Number of ideas"/>
</xpath>

expr
    在父视图中选者单个元素的XPath表达式。如果没有匹配到元素或者匹配到多个元素则引发错误。
position
    对匹配到的元素进行操作。
inside
  在匹配元素的末尾追加
before
  作为匹配元素的同级元素添加在其前面
after
  作为匹配元素的同级元素添加在其后面
replace
  替换匹配的元素
attributes
  使用新的属性替换匹配元素的属性
原文地址:https://www.cnblogs.com/sunch/p/10553833.html