• odoo10学习笔记五:高级视图


    转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/11189279.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的混合。

  • 相关阅读:
    sed匹配多行并替换其中的内容
    sysbench 安装、使用和测试
    linux inode号已满的解决办法
    Linux双网卡绑定
    es安装
    kibana安装
    filebeat
    Codeforces 464E The Classic Problem (最短路 + 主席树 + hash)
    Codeforces 1137C Museums Tour (强连通分量, DP)
    HDU 4921 Map(状态压缩)
  • 原文地址:https://www.cnblogs.com/ygj0930/p/11189279.html
Copyright © 2020-2023  润新知