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

一:Header头部

header区域一般用于展示文档流转的阶段和生命周期,以及动作按钮。

表单的生命周期通过状态栏小控件呈现当前所处的状态,这些通常是状态选择字段或者多对一的阶段字段

状态是一个选择列表,呈现的是过程中有几个相当稳定的步骤阶段,例如:新建、处理中、完成。

操作按钮一般为表单按钮,最重要的阶段可以使用class=“oe_highlight”突出显示

二:Sheet区域

1:分组布局局 group标签

1)用于定义栏目在表单中布局,默认情况下一个group定义两个列,并且每个最直接的子元素占用一个列,field类型的元素默认显示一个标签。
   2)子元素是横向布局的

3)可以通过设置string 属性来定义组的标题;在group之外,我们可以使用html基本元素来制定标题,如:div,span,H1,和H2等,并且可以添加style属性指定css样式。

4)使用col和colspan属性,我们可以更好的控制组元素布局。col属性可以指定组中包含的列数,默认值是2,它也可以改为任何数字,双数的效果更好,因为每一个字段加起来都要两列。

5)组内元素,包括<field>元素,可以使用colspan属性设置所占列数,默认都是2列。

6)newline标签,只在group元素里才有用,代表开启新的行。在组内一行还没布满时,强制换行布局。

7)可以使用<separator>元素添加组内分割线;可以通过string属性来设置该区域的标题。

2:分页显示 notebook

定义一个tab块,每一个tab通过一个page子元素定义,每个page可以有以下属性:

  • string (required) --tab标签的名称
  • accesskey --html accesskey
  • attrs --基于记录值的动态属性(可见、只读),例如:attrs="{'invisible': [(表达式)]}"

笔记本元素可以包含多个标签的部分,称为页面。可以实现按页切换输入、显示。

<notebook>
<page string="显示文字" name="通常用于被视图继承时xpath定位">
内容...
</page>
<page>
...
</page>
</notebook>

3:field

展示当前记录的某个字段,有以下属性:

1)name (必选)

字段名。

2)attrs

标签属性,只有两个:invisible和readonly,可以根据表达式值来决定该两个值,从而动态控制标签的显示/隐藏、只读/可修改。

有两种设置方式:

1:通过attrs属性统一设置,可以使用表达式进行动态设置
attrs="{'invisible': [('state', '!=', 'draft'), ('state', '!=', 'disable')]}" 2:直接通过属性名单独、明确设置
<field name="" invisible="1" readonly="1"/>

3)widget

每个字段根据其数据类型有一个默认的展示方式,widget属性可指定用一个别的方式来展示。

4)options

标签行为,用于指定widget字段配置的json对象。这与该字段使用什么widget来显示有关,odoo原生的字段类型都有对应的默认widget来负责显示,widget中封装了一些行为。可以查看具体widget定义的js文件,从 this.options.XX 字眼得到有哪些options。

我们也可以自定义widget、继承widget来增加选项。

选项只能通过options属性进行设置:

//通过options属性统一设置
options="{'no_create': 1, 'no_open': 1}"

5)class

设置当前元素的css样式,odoo内置了以下样式类名,也可以使用boostrap相关样式类名、自定义的css样式文件中的类名。【注意:这些样式不仅仅可以用于filed标签,表单内任何元素都可以套用】

oe_inline:防止换行,防止它自动将之后的字段换行,使后面的内容自动在同一行显示。
oe_left, oe_right:相当于css的float浮动,向左浮动布局、向右浮动布局。
oe_read_only, oe_edit_only:只在相应的模式下显示,read_only的意思是只有在非编辑状态下才显示,edit_only是只有在编辑状态下显示。
oe_no_button:不为many2one字段显示导航按钮
oe_avatar:当该字段为图片时,将它展示为头像(90*90的正方形)

6)groups

指定用户组可以看到该字段。【可以为某些字段做隐私、数据隔离】

7)on_change

在字段值改变时调用对应方法,从8.0开始改用模型中的 odoo.api.onchange()。

8)domain

在编辑时,当以 下拉选择 的方式选取  关联字段  时,过滤数据。

9)context

用于关联字段,显示数据时提供上下文环境。

10)readonly

该字段可在读和编辑模式下展示,但是永远是不能编辑的。

11)required

设置字段为必填,当该值没有设置就保存时给出一个错误提示并阻止保存。

12)nolabel

不显示字段的标签,只有在该字段是group子元素时起效。一般搭配<label for='字段名' style="样式">使用,为字段自定义显示的标签

13)placeholder

字段值为空时展示的提示。

14)mode

对于one2many字段,用于展示其关联的记录的形式,有tree, form, kanban , graph,默认是tree

15)help

当将鼠标放在字段或标签时显示的提示

16)filename

对于二进制的字段,相关字段给出文件名。

17)password

表示该字段是一个密码,不明文展示。

Odoo form视图详解的更多相关文章

  1. Odoo日历视图详解

    转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10826148.html 一:日历视图定义 根元素为<calendar>. 主要的属性有:    ...

  2. ASP.NET MVC 5 学习教程:Edit方法和Edit视图详解

    原文 ASP.NET MVC 5 学习教程:Edit方法和Edit视图详解 起飞网 ASP.NET MVC 5 学习教程目录: 添加控制器 添加视图 修改视图和布局页 控制器传递数据给视图 添加模型 ...

  3. 【译】ASP.NET MVC 5 教程 - 7:Edit方法和Edit视图详解

    原文:[译]ASP.NET MVC 5 教程 - 7:Edit方法和Edit视图详解 在本节中,我们继续研究生成的Edit方法和视图.但在研究之前,我们先将 release date 弄得好看一点.打 ...

  4. [转]PostgreSQL教程(十六):系统视图详解

    这篇文章主要介绍了PostgreSQL教程(十六):系统视图详解,本文讲解了pg_tables.pg_indexes.pg_views.pg_user.pg_roles.pg_rules.pg_set ...

  5. (转)oracle视图详解

    Oracle视图详解   一. 视图的定义 视图(view),也称虚表, 不占用物理空间,这个也是相对概念,因为视图本身的定义语句还是要存储在数据字典里的.视图只有逻辑定义.每次使用的时候,只是重新执 ...

  6. Odoo权限控制详解

    转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10826105.html 一:Odoo中的权限设置主要有以下5种 1)菜单.报表的访问权限 Odoo可以设置菜 ...

  7. Extjs Form用法详解(适用于Extjs5)

    Extjs Form是一个比较常用的控件,主要用来显示和编辑数据的,今天这篇文章将介绍Extjs Form控件的详细用法,包括创建Form.添加子项.加载和更新数据.验证等. 本文的示例代码适用于Ex ...

  8. 使用Material Design Tint和视图详解

    视图 首先来讲Material Design 视图的概念,在新的api中,新添加了z轴的概念,z轴垂直于屏幕,用来表现元素的层叠关系,z值(海拔高度)越高,元素离界面底层(水平面)越远,投影越重,这里 ...

  9. odoo配置文件内容详解

    odoo常用openerp-server.conf配置参数详解 参数 说明 用法 addons_path addons模块的查找路径,多个路径用逗号分隔 addons_path = E:\GreenO ...

随机推荐

  1. postgres判断字符串是否为时间,数字

    时间判断函数定义: -- FUNCTION: public.isdate(character varying) -- DROP FUNCTION public.isdate(character var ...

  2. Xamarin.Forms移动开发系列1:介绍和安装

    摘要 Xamarin成立于2011年5月16日.Xamarin 是一套基于C#语言的跨平台移动应用开发工具,2016年2月24日被微软正式收购. 前言 很早就已经听说强大的.NET生态中有一个移动开发 ...

  3. [LeetCode] 878. Nth Magical Number 第N个神奇数字

    A positive integer is magical if it is divisible by either A or B. Return the N-th magical number.  ...

  4. [LeetCode] 545. Boundary of Binary Tree 二叉树的边界

    Given a binary tree, return the values of its boundary in anti-clockwise direction starting from roo ...

  5. ZJOI 2009 多米诺骨牌(状态压缩+轮廓线+容斥)

    题意 https://www.lydsy.com/JudgeOnline/problem.php?id=1435 思路 一道很好的状压/容斥题,涵盖了很多比较重要的知识点. 我们称每两行间均有纵跨.每 ...

  6. 小程序根据数字做for循环

    笔记:小程序根据具体一个数值做for循环 n为想循环的次数 <view wx:for="{{n - 0}}"> <text>{{index}}</te ...

  7. PHP服务端优化全面总结

    一.优化PHP原则 1.1PHP代码的优化 (1)升级最新的PHP版本 鸟哥PPT里的对比数据,就是WordPress在PHP5.6执行100次会产生70亿次的CPU指令执行数目,而在PHP7中只需要 ...

  8. Window安装AutoCAD

    1.运行crack文件夹下的“nlm11.14.1.3_ipv4_ipv6_win64.msi”,根据向导提示完成安装2.同样在“MAGNiTUDE”文件夹中找到“adesk.dat”文件,用记事本打 ...

  9. 基于贝叶斯网(Bayes Netword)图模型的应用实践初探

    1. 贝叶斯网理论部分 笔者在另一篇文章中对贝叶斯网的理论部分进行了总结,在本文中,我们重点关注其在具体场景里的应用. 2. 从概率预测问题说起 0x1:条件概率预测模型之困 我们知道,朴素贝叶斯分类 ...

  10. 开源分布式追踪系统 — Jaeger介绍

    目录 一.Jaeger是什么 二.Jaeger架构 1. 术语 2. 架构图 三.关于采样率 四.部署与实践 一.Jaeger是什么 Uber开发的一个受Dapper和Zipkin启发的分布式跟踪系统 ...