zoukankan      html  css  js  c++  java
  • Odoo treeView列表视图详解

    转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10826414.html

    TreeView:列表视图

        1:<tree>标签的属性

        【tree标签内的属性,就是界面上的表现、行为,可以通过视图继承,往tree标签增加属性来自定义tree视图的按钮。】

        列表视图的根元素是<tree>,它可以有以下几种属性:

        1)editable

        默认情况下选择单行记录时会打开对应记录的表单,该属性让数据可以在列表内进行编辑,有效的值是top和bottom,可在列表的顶部或底部添加新记录。

        2)default_order

        重定义视图的排序规则,以逗号分隔多个字段,可使用desc来进行倒序<tree default_order="sequence,name desc">

        3)decoration-样式名

        样式可为  bf加粗, it斜体 或 其他bootstrap样式如:danger红色, info, muted, primary, success绿色,warning橙色等等值为python表达式,对每条记录执行相应表达式判断,当结果为true的时候将对应的样式应用。

        也可以直接在标签的css样式值中使用表达式来动态设置,如设置颜色:

    colors="gray:state=='cancel';red:state=='audit';green:state=='done';blue:state in('draft','confirm');"

        4)create, edit, delete

        可以通过将它们设置为false来禁用视图中的对应操作按钮:create对应创建按钮、edit对应编辑按钮、delete对应界面上 下拉菜单对 删除 菜单项。

        5)on_write

        只当启用editable时有用,在tree视图新增或修改记录时,会自动调用on_write属性值对应对函数,并且会把新增/修改的记录作为参数传入【可以在该函数执行一些数据校验、唯一性校验】。该函数需要返回一个用于更新列表的记录id列表。

        6)继承tree视图,往tree标签增加属性,从而实现在tree界面上新增按钮

        2:tree视图中的元素

         【tree标签之间等内容就是列表行内容。】

        1)button标签:定义一个按钮,可以根据当前行某个字段值,动态控制行内按钮的显示或隐藏。按钮通过跳转到向导,context中会把对应行记录的id作为active_id传递过去。

    属性列表:
    1.icon -- 用来展示按钮的图标
    2.string -- 当没有icon的时候,button显示的文字,有icon的时候、相当于alt属性值
    3.type -- 按钮类型,表示点击它之后如何影响系统
        1)workflow(默认):将按钮name作为信号发送给工作流,记录的内容作为参数
        2)object : 调用当前数据列表模型的方法,方法名是按钮的name,调用时带有记录id和当前上下文环境
        3)action : 加载ir.actions,按钮name是该action在数据库的id,上下文环境扩展到列表的model(作为active_model)、当前记录(active_id)、所有当前加载记录的id(active_ids)
    4.name--按钮的响应函数、工作流信号、action_id
    5:args--传递给响应函数的参数 6.attrs 基于记录值的某个字段值,将domain表达式应用在该行字段值上,当返回值为True的时候设置相应的属性,一般属性有 invisible (隐藏)、readonly (只读但显示) 7.states invisible属性attrs的简写,给出一个以逗号分隔的state列表,需要模型有一个对应的state属性,可以将不在state列表中的记录的按钮隐藏 8.context 作为额外的数据携带,在跳转、函数调用时传递过去 9.confirm 当点击按钮时给出的确认消息

        2)field字段标签:显示记录的字段值

    属性列表:
    1.name 字段名
    2.string 该列头的文本名称,默认是字段名,可以在界面上自定义显示名
    3.invisible 查询而且保存该字段,但界面上不显示
    4.groups 可以看到该字段的用户组列表
    5.widget 字段的展示形式:
        progressbar 进度条用于展示浮点数
        many2onebutton当关联字段值存在时显示勾,不存在显示X
        handle对于排序字段,直接显示向上向下箭头
        sum, avg 在底部显示基于当前页面数据的求和或平均值
        attrs 基于记录值的动态属性【属性一般有两个:invisible
    eadonly】,只对当前栏有效,即可以第一条记录中该字段显示,第二条隐藏,由domain表达式决定。

    6.field的值支持用eval语法来运算某个表达式获得:例如:<field name="user_id" eval="ref('base.group_user')" />
  • 相关阅读:
    海康 大华 华为 宇视等安防摄像头、NVR、平台网关通过GB28181接入LiveGBS流媒体服务实现WEB无插件直播
    工厂模式
    装饰者模式
    观察者模式
    Android 滑动事件冲突解决 Touch事件处理机制
    java 策略模式
    java判断手机访问还是电脑访问
    swift中闭包和OC中block的用法比较
    Swift小技巧(五)
    Swift小技巧(三)
  • 原文地址:https://www.cnblogs.com/ygj0930/p/10826414.html
Copyright © 2011-2022 走看看