全称 mx.datacontrols.DataForm
命名空间 mx.datacontrols
DataForm
继承层次结构 DataFormControl
源文件 ~\mx\scripts\datacontrols\DataForm.js
提供一个表单控件的类。

示例 1

以下是一个 DataForm 表单如何表示分组与默认展开的代码示例。DataForm.fields 集合中的每个对象如果为数组,则该对象就表示了一个分组。每个对象数组的第一个值表示分组的标题;第二个值如果是一个 Boolean 值,表示是否默认展开(如果为空,则默认展开)。 该示例中包含两个分组,分别为“基本信息”与“隐私信息”。其中“基本信息”分组默认为展开,“隐私信息”分组默认为隐藏。
JavaScript 代码
var userData = { id: "a1", name: "小明", age: 26, gender: "m", birthday: parseDate("1984-3-1") }; var userMeta = [ {name: "id", caption: "ID", nullable: false, readOnly: true}, {name: "age", caption: "年龄", nullable: true}, {name: "gender", caption: "性别", nullable: true}, {name: "birthday", caption: "出生日期", nullable: true} ]; var formEntityContainer = new mx.datacontainers.FormEntityContainer( { data: userData, meta: userMeta, type: "local"} ); // 表单数据容器为 mx.datacontainers.FormEntityContainer 类型 formEntityContainer.primaryKey = "id" ; // 定义表单数据容器的主键,通常为“id” var form = new mx.datacontrols.DataForm({ width: 500, fields: [ [ "基本信息", //第一个分组的标题 { name: "id", caption: "标识", readOnly: true }, { name: "name", caption: "名称", nullable: false }, { name: "gender", caption: "性别", editorType: "DropDownEditor", allowEditing: false, displayMember: "name", valueMember: "id", items: [ { name: "男", id: "m" }, { name:"女", id: "f" } ] } ], //第一个分组 [ "隐私信息", //第二个分组的标题 false, //默认不展开 { name: "birthday", caption: "生日", editorType: "DateTimeEditor", formatString: "yyyy-MM-dd", allowEditing: false }, { name: "age", caption: "年龄", editorType: "NumberEditor", max: 100, min: 18 } ] //第二个分组 ], entityContainer: formEntityContainer // 绑定表单数据容器 }); formEntityContainer.load(); // 表单数据容器加载数据源 form.printForm(); //打印表单内容 : 参数为一个 Boolean 值,表示是否开户打印预览功能,默认是true,默认启用打印预览功能。

示例 2

以下示例演示远程数据加载:
JavaSript 代码
var entityContainer = new mx.datacontainers.FormEntityContainer({ baseUrl: mx.mappath("~/user"), //数据加载服务地址 type: "remote" //指定数据加载类型,默认为remote,可以不指定。 }); var form = new mx.datacontrols.DataForm({ entityContainer: entityContainer, fields: [ { name: "userName", caption: "用户名", nullable: false }, { name: "password", caption: "密码", textMode: "password", nullable: false }, { name: "confirmPassword", caption: "密码", textMode: "password", nullable: false } ] }); form.load(); //执行数据加载

示例 3

以下演示本地数据加载:
JavaSript 代码
var entityContainer = new mx.datacontainers.FormEntityContainer({ type: "local",//指定数据加载类型,默认为remote // 元数据定义 meta: [ {name: "id", caption: "用户唯一标识", readOnly: true}, {name: "username", caption: "姓名"} ], //数据源 data: { id: "jacksprow", username: "杰克船长"} }); var form = new mx.datacontrols.DataForm({ entityContainer: entityContainer }); form.load(); //执行数据加载

构造函数

名称 说明
DataForm() 构建 DataForm 类的新实例。

初始化函数

名称 说明
init() 初始化方法。执行设置样式并初始化属性等操作。

方法

名称 说明
blur() 触发所有编辑器(Editor 类型)的 blur 事件。
contains($p_target) 返回一个 Boolean 值,该值表示控件的容器中是否包含该 JQuery 对象。
dispose() 释放对象运行时动态生成的内容(属性、方法、事件)。
focus() 触发所有编辑器(Editor 类型)的 focus 事件。
getContext() 获取控件当前所属 Weblet 的上下文信息( WebletContext 类型)。
getEditor(p_fieldName) 返回一个编辑器(Editor 类型)。
getEl() 获取控件容器对应的 HTML DOM 元素对象。
getId() 提供一个方法,获取表单中当前数据的主键。
hasChanged() 提供一个方法,判断表单是否有修改过但未保存的信息。
hide() 隐藏控件,设置控件不可见。
isNew() 获取表单是否在新增状态。
load([p_callback]) 加载数据。
load([p_data], [p_callback]) 加载数据。
load([p_id], [p_callback]) 加载数据。
load([p_id], [p_data], [p_callback]) 加载数据。
moveTo(p_left, p_top) 移动控件到指定位置。@param p_left 一个数字,表示 css 样式的 left 属性。 @param p_top 一个数字,表示 css 样式的 top 属性。
printForm(p_preview, p_windowManager, p_printOptions) 提供一个方法,打印表单内容。 @param p_preview : true | false 一个 Boolean 值,表示是否启用打印预览功能,默认 true true : 表示显示打印预览 false : 表示不显示打印预览,直接打印 @param p_windowManager : 用于创建打印预览窗口的WindowManager对象, 如果不传入则控件默认生成一个windowManager对象,
resizeTo(p_width, p_height) 重设控件的大小。@param p_width 控件的宽度,可以是数字(如 100),也可以是字符串(如 “100%”)。 @param p_height 控件的高度,可以是数字(如 100),也可以是字符串(如 “100%”)。
save([p_data]) 保存表单数据.
save([p_data], [p_callback]) 保存表单数据.
selectEditor(p_fieldName) 选中指定字段的编辑器。
setBorder(p_border) 设置控件的边框样式。@param p_border 一个字符串,表示css样式的 border 属性。
setBottom(p_bottom) 设置 bottom 字段的值。@param p_bottom 控件的下边界与父容器下边界的像素距离,可以是数字(如 50),也可以是字符串(如 50%)。
setCss(p_css) 设置 css 字段的值。 @param p_css 一个 JSON 对象,表示控件的 CSS 样式。
setCssClass(p_cssClass) 设置 cssClass 字段的值 @param p_cssClass 一个String 对象,样式classname
setDisplay(p_display) 设置 display 字段的值。@param p_display css 样式的 display 属性。
setEnabled(p_enabled) 设置 enabled 字段的值。
setEntityContainer(p_entityContainer) 设置 entityContainer 字段的值。
setFieldCaption(p_fieldName, p_caption) 设置表单中字段信息的标题。@param p_fieldName 一个字符串,表示字段信息的标识。 @param p_caption 一个字符串,指定字段的标题。
setFieldCaptionVisible(p_fieldName, p_visible) 设置表单中字段标题的可见性。@param p_fieldName 一个字符串,表示字段信息的标识。 @param p_visible 一个 Boolean 值,表示是否可见。如果该值为 true,表示字段信息可见;反之则不可见。
setFieldEnabled(p_fieldName, p_enabled) 设置字段信息中编辑器(Editor 类型)的 Control.enabled 属性的值。
setFieldNullable(p_fieldName, p_nullable) 设置表单中字段是否可空。
setFieldReadOnly(p_fieldName, p_readOnly) 设置字段信息中编辑器(Editor 类型)的 Editor.readOnly 属性的值。
setFields(p_fields) 设置 fields 字段的值。
setFieldVisible(p_fieldName, p_visible) 设置表单中字段信息的可见性。
setGroupCaption(p_name, p_new_caption) 设置表单中分组的标题。@param p_name 一个字符串或数字,{@link FormFiledGroup} 的{@link FormFiledGroup.name}值,或是FormFiledGroup在表单中的索引。 @param p_new_caption 一个字符串。表示group的新caption。
setGroupVisible(p_name, p_visible) 设置表单中分组的可见性。@param p_name 一个字符串或数字,FormFiledGroup的name值,或是FormFiledGroup在表单中的索引 @param p_visible 一个 Boolean 值,表示是否可见。如果该值为 true,表示字段信息可见;反之则不可见。
setHeight(p_height) 设置 height 字段的值。 注:子类UploadControl上传控件不支持百分比设置高度 @param p_height 控件的高度,可以是数字(如 100),也可以是字符串(如 “100%”)。
setLeft(p_left) 设置 left 字段的值。 @param p_left 控件的左边界与父容器左边界的像素距离,可以是数字(如 50),也可以是字符串(如 50%)。
setPosition(p_position) 设置 position 字段的值。@param p_position 一个字符串,表示 css 样式的 position 属性。
setRight(p_right) 设置 right 字段的值。@param p_right 控件的右边界与父容器右边界的像素距离,可以是数字(如 50),也可以是字符串(如 50%)。
setTop(p_top) 设置 top 字段的值。 @param p_top 控件的上边界与父容器上边界的像素距离,可以是数字(如 50),也可以是字符串(如 50%)。
setVisible(p_visible) 设置 visible 字段的值。@param p_visible 一个 Boolean 值,表示控件是否可见。
setWidth(p_width) 设置 width 字段的值。@param p_width 控件的高度,可以是数字(如 500)、字符串(如“500px”或“50%”).
show() 显示控件,设置控件可见。
validate(p_data, [p_withoutIndication]) 执行验证表单的逻辑。 返回一个对象(如 { successful: true }),该对象的 successful 属性表示该表单通过验证; 如果返回对象为 { successful: false, hint: "描述错误原因。", fieldName: "错误字段名称" },其中 fieldName 是可选字段,是出错字段的 FormField.name,原因由 hint 描述。 该方法将触发 onvalidate 事件,可通过该事件进行自定义数据校验,详见该事件示例。
$(p_expression) 该方法与 me.$e.find(p_expression) 等同。
$wrap([p_obj]) 返回一个 JQuery 对象。

字段

名称 说明
alias 获取或设置一个字符串,表示控件的别名。
baseUrl 详见 DataGrid.baseUrl 属性。 只有当entityContainer 属性对应的数据容器对象的type属性值为local时,可以不需要设置该属性,其它情况下必须设置
border 获取控件的边框样式。如“1px solid red”,表示边框的样式为 1 像素红色的实线。请使用 setBorder 方法设置该字段的值。
bottom 获取控件的下边界与父容器下边界的像素距离。请使用 setBottom 方法设置该字段的值。
captionColumnWidth 获取标题列的宽度。@default 120
cssClass 指定css伪类名称,设置控件显示样式
display 获取控件的显示样式值。如“none”,表示隐藏控件; “block”表示强制作为块对象呈递。请使用 setDisplay方法设置该字段的值。
displayPrimaryKey 获取或者设置一个 Boolean 值,该属性表示是否需要显示表单中的主键字段。
editorEnterNavigate 一个Boolean值,表示按enter键时,表单是否在可以编辑的editor之间切换,类似tab键。 如果为true,则切换,false为不切换
editors 获取一个集合,包含表单中所有的编辑器(Editor 类型)。
enableBrowserContextMenu 获取或初始化设置是否允许浏览器默认的上下文菜单。
enabled 获取控件是否可以对用户交互作出响应。如果该值为 true,则表示控件可以对用户交互作出响应;反之则不能。 请使用 setEnabled 方法设置该字段的值。@default true
entityContainer 获取一个 FormEntityContainer 对象(通常是 FormEntityContainer 类型),表示表单的数据源。 请使用 setEntityContainer 方法设置该字段的值。
eTag 获取控件的标签。
fieldCaptionRender 设置或获取一个函数,用来自定义表单中字段的标题显示方式。 函数需要返回一个 JQquey 对象或者一个 HTML 片段,返回值将用作字段的标题。 @param p_field 表单中的一个字段。 @returns 一个 JQquey 对象或者一个 HTML 片段,将替换当前字段的标题。
fields 获取一个具有层次关系的集合,包含当前表单中所有字段(FormField)和字段分组(FormFieldGroup)信息。 另请参考 allFields 字段。
groups 获取一个集合,包含表单中所有的编辑器(FormFieldGroup 类型)。 @item mx.datacontrols.FormFieldGroup @index FormFieldGroup的name或FormFieldGroup在集合中的序号(从 0 开始计数)。
height 获取控件的高度。可以是数字(如 500)、字符串(如“500px”)。请使用 setHeight 方法设置该字段的值。
hintWithCaption 获取或设置form保存时,提示中是否显示错误字段的caption。
ignoreCheckOnHide 一个Boolean值,表示是否忽略隐藏编辑器的校验,如果为true,则忽略,false为校验
layoutConfigs 获取或者设置一个 JSON 对象,该属性表示控件在父容器中的布局配置参数。该属性只有在控件父容器运用布局器才会生效。
left 获取控件的左边界与父容器左边界的像素距离。请使用 setLeft 方法设置该字段的值。
maxCols 获取和设置单行中最大列宽度总数。@default 2
parent 获取控件所属的父对象。
permissionID 获取或设置一个字符串,表示控件的权限标识。
position 获取控件位置样式值。请使用 setPosition 方法设置该字段的值。

该字段的可选值包括:

  • relative
  • absolute

primaryKey 详见 DataGrid.primaryKey 属性。 此属性必须在初始化控件时设置
printHideFields 是否打印默认隐藏的字段。
right 获取控件的右边界与父容器右边界的像素距离。请使用 setRight 方法设置该字段的值。
top 获取控件的上边界与父容器上边界的像素距离。请使用 setTop 方法设置该字段的值。
typeName 获取当前类型实例的类的类型。
visible 获取一个 Boolean 值,表示控件是否可见。如果该值为 true,则表示控件可见;反之则不可见。请使用 setVisible 方法设置该字段的值。@default true
width 获取控件的宽度。可以是数字(如 500)、字符串(如“500px”或“50%”)。请使用 setWidth 方法设置该字段的值。
$e 获取该控件的占位符,该占位符为一个 JQuery 对象。

事件

名称 说明
onload 当表单加载完数据后触发该事件。
onloading 当数据容器开始加载数据时,将触发该事件。调用 load 方法时会触发该事件。
onrendering 加载数据之后,表单渲染之前将触发该事件。
onsubmit 当表单提交是触发该事件。
onvalidate 当验证表单输入时将触发该事件。调用 validate 方法时会触发该事件。可通过订购该事件,实现对表单的自定义验证

构造函数详细信息

DataForm() 方法

构建 DataForm 类的新实例。

初始化函数详细信息

init() 方法

初始化方法。执行设置样式并初始化属性等操作。

继承自


方法详细信息

blur() 方法

触发所有编辑器(Editor 类型)的 blur 事件。

contains($p_target) 方法

返回一个 Boolean 值,该值表示控件的容器中是否包含该 JQuery 对象。

参数

  • $p_target
    一个 JQuery 对象,或 JQuery 选择器对应的字符串(如“#container”),或 HTML DOM 元素。

继承自


dispose() 方法

释放对象运行时动态生成的内容(属性、方法、事件)。

继承自


focus() 方法

触发所有编辑器(Editor 类型)的 focus 事件。

getContext() 方法

获取控件当前所属 Weblet 的上下文信息( WebletContext 类型)。

继承自


getEditor(p_fieldName) 方法

返回一个编辑器(Editor 类型)。

参数

  • p_fieldName
    一个数字,或编辑器的标识(如 “birthday”)。

getEl() 方法

获取控件容器对应的 HTML DOM 元素对象。

继承自


getId() 方法

提供一个方法,获取表单中当前数据的主键。

hasChanged() 方法

提供一个方法,判断表单是否有修改过但未保存的信息。

hide() 方法

隐藏控件,设置控件不可见。

继承自


isNew() 方法

获取表单是否在新增状态。

load([p_callback]) 方法

加载数据。

参数

  • p_callback
    可选的。一个 Function 对象,表示回调函数。

load([p_data], [p_callback]) 方法

加载数据。

参数

  • p_data
    可选的。一个 JSON 对象,表示查询参数。
  • p_callback
    可选的。一个 Function 对象,表示回调函数。

load([p_id], [p_callback]) 方法

加载数据。

参数

  • p_id
    可选的。一个字符串,表示表单数据的唯一标识。
  • p_callback
    可选的。一个 Function 对象,表示回调函数。

load([p_id], [p_data], [p_callback]) 方法

加载数据。

参数

  • p_id
    可选的。一个字符串,表示表单数据的唯一标识。
  • p_data
    可选的。一个 JSON 对象,表示查询参数。
  • p_callback
    可选的。一个 Function 对象,表示回调函数。

moveTo(p_left, p_top) 方法

移动控件到指定位置。@param p_left 一个数字,表示 css 样式的 left 属性。 @param p_top 一个数字,表示 css 样式的 top 属性。

参数

  • p_left
    一个数字,表示 css 样式的 left 属性。
  • p_top
    一个数字,表示 css 样式的 top 属性。

继承自


printForm(p_preview, p_windowManager, p_printOptions) 方法

提供一个方法,打印表单内容。 @param p_preview : true | false 一个 Boolean 值,表示是否启用打印预览功能,默认 true true : 表示显示打印预览 false : 表示不显示打印预览,直接打印 @param p_windowManager : 用于创建打印预览窗口的WindowManager对象, 如果不传入则控件默认生成一个windowManager对象,

参数

  • p_preview
    : true | false 一个 Boolean 值,表示是否启用打印预览功能,默认 true true : 表示显示打印预览 false : 表示不显示打印预览,直接打印
  • p_windowManager
    : 用于创建打印预览窗口的WindowManager对象, 如果不传入则控件默认生成一个windowManager对象, {@exclude mx.datacontrols.SkinDataForm}
  • p_printOptions

resizeTo(p_width, p_height) 方法

重设控件的大小。@param p_width 控件的宽度,可以是数字(如 100),也可以是字符串(如 “100%”)。 @param p_height 控件的高度,可以是数字(如 100),也可以是字符串(如 “100%”)。

参数

  • p_width
    控件的宽度,可以是数字(如 100),也可以是字符串(如 “100%”)。
  • p_height
    控件的高度,可以是数字(如 100),也可以是字符串(如 “100%”)。

继承自


save([p_data]) 方法

保存表单数据.

参数

  • p_data
    可选的。, 指定的表单中数据。数据格式为: {items: [{colA:"abc", colB: "edf"}]}

save([p_data], [p_callback]) 方法

保存表单数据.

参数

  • p_data
    可选的。, 指定的表单中数据。数据格式为: {items: [{colA:"abc", colB: "edf"}]}
  • p_callback
    可选的。, 保存后执行的回调函数。

selectEditor(p_fieldName) 方法

选中指定字段的编辑器。

参数

  • p_fieldName

setBorder(p_border) 方法

设置控件的边框样式。@param p_border 一个字符串,表示css样式的 border 属性。

参数

  • p_border
    一个字符串,表示css样式的 border 属性。

继承自


setBottom(p_bottom) 方法

设置 bottom 字段的值。@param p_bottom 控件的下边界与父容器下边界的像素距离,可以是数字(如 50),也可以是字符串(如 50%)。

参数

  • p_bottom
    控件的下边界与父容器下边界的像素距离,可以是数字(如 50),也可以是字符串(如 50%)。

继承自


setCss(p_css) 方法

设置 css 字段的值。 @param p_css 一个 JSON 对象,表示控件的 CSS 样式。

参数

  • p_css
    一个 JSON 对象,表示控件的 CSS 样式。 {@exclude mx.datacontrols.ScrollBar}

继承自


setCssClass(p_cssClass) 方法

设置 cssClass 字段的值 @param p_cssClass 一个String 对象,样式classname

参数

  • p_cssClass
    一个String 对象,样式classname {@exclude mx.datacontrols.ScrollBar}

继承自


setDisplay(p_display) 方法

设置 display 字段的值。@param p_display css 样式的 display 属性。

参数

  • p_display
    css 样式的 display 属性。

继承自


setEnabled(p_enabled) 方法

设置 enabled 字段的值。

参数

  • p_enabled

继承自


setEntityContainer(p_entityContainer) 方法

设置 entityContainer 字段的值。

参数

  • p_entityContainer

setFieldCaption(p_fieldName, p_caption) 方法

设置表单中字段信息的标题。@param p_fieldName 一个字符串,表示字段信息的标识。 @param p_caption 一个字符串,指定字段的标题。

参数

  • p_fieldName
    一个字符串,表示字段信息的标识。
  • p_caption
    一个字符串,指定字段的标题。

setFieldCaptionVisible(p_fieldName, p_visible) 方法

设置表单中字段标题的可见性。@param p_fieldName 一个字符串,表示字段信息的标识。 @param p_visible 一个 Boolean 值,表示是否可见。如果该值为 true,表示字段信息可见;反之则不可见。

参数

  • p_fieldName
    一个字符串,表示字段信息的标识。
  • p_visible
    一个 Boolean 值,表示是否可见。如果该值为 true,表示字段信息可见;反之则不可见。

setFieldEnabled(p_fieldName, p_enabled) 方法

设置字段信息中编辑器(Editor 类型)的 Control.enabled 属性的值。

参数

  • p_fieldName
    一个字符串,表示字段信息的标识。
  • p_enabled
    一个 Boolean 值,详见 Control.setEnabled 方法的参数。

setFieldNullable(p_fieldName, p_nullable) 方法

设置表单中字段是否可空。

参数

  • p_fieldName
    一个字符串,表示字段信息的标识。
  • p_nullable
    一个 Boolean 值,指定字段是否允许空。

setFieldReadOnly(p_fieldName, p_readOnly) 方法

设置字段信息中编辑器(Editor 类型)的 Editor.readOnly 属性的值。

参数

  • p_fieldName
    一个字符串,表示字段信息的标识。
  • p_readOnly
    一个 Boolean 值,表示是否只读。如果该值为 true,表示只读;反之为可编辑。

setFields(p_fields) 方法

设置 fields 字段的值。

参数

  • p_fields

setFieldVisible(p_fieldName, p_visible) 方法

设置表单中字段信息的可见性。

参数

  • p_fieldName
    一个字符串,表示字段信息的标识。
  • p_visible
    一个 Boolean 值,表示是否可见。如果该值为 true,表示字段信息可见;反之则不可见。

setGroupCaption(p_name, p_new_caption) 方法

设置表单中分组的标题。@param p_name 一个字符串或数字,{@link FormFiledGroup} 的{@link FormFiledGroup.name}值,或是FormFiledGroup在表单中的索引。 @param p_new_caption 一个字符串。表示group的新caption。

参数

  • p_name
    一个字符串或数字,{@link FormFiledGroup} 的{@link FormFiledGroup.name}值,或是FormFiledGroup在表单中的索引。
  • p_new_caption
    一个字符串。表示group的新caption。

setGroupVisible(p_name, p_visible) 方法

设置表单中分组的可见性。@param p_name 一个字符串或数字,FormFiledGroup的name值,或是FormFiledGroup在表单中的索引 @param p_visible 一个 Boolean 值,表示是否可见。如果该值为 true,表示字段信息可见;反之则不可见。

参数

  • p_name
    一个字符串或数字,FormFiledGroup的name值,或是FormFiledGroup在表单中的索引
  • p_visible
    一个 Boolean 值,表示是否可见。如果该值为 true,表示字段信息可见;反之则不可见。

setHeight(p_height) 方法

设置 height 字段的值。 注:子类UploadControl上传控件不支持百分比设置高度 @param p_height 控件的高度,可以是数字(如 100),也可以是字符串(如 “100%”)。

参数

  • p_height
    控件的高度,可以是数字(如 100),也可以是字符串(如 “100%”)。

继承自


setLeft(p_left) 方法

设置 left 字段的值。 @param p_left 控件的左边界与父容器左边界的像素距离,可以是数字(如 50),也可以是字符串(如 50%)。

参数

  • p_left
    控件的左边界与父容器左边界的像素距离,可以是数字(如 50),也可以是字符串(如 50%)。 {@exclude mx.datacontrols.ComplexForm} {@exclude mx.datacontrols.DataGridSearchBox} {@exclude mx.datacontrols.DynamicForm} {@exclude mx.datacontrols.SkinDataForm}

继承自


setPosition(p_position) 方法

设置 position 字段的值。@param p_position 一个字符串,表示 css 样式的 position 属性。

参数

  • p_position
    一个字符串,表示 css 样式的 position 属性。

继承自


setRight(p_right) 方法

设置 right 字段的值。@param p_right 控件的右边界与父容器右边界的像素距离,可以是数字(如 50),也可以是字符串(如 50%)。

参数

  • p_right
    控件的右边界与父容器右边界的像素距离,可以是数字(如 50),也可以是字符串(如 50%)。

继承自


setTop(p_top) 方法

设置 top 字段的值。 @param p_top 控件的上边界与父容器上边界的像素距离,可以是数字(如 50),也可以是字符串(如 50%)。

参数

  • p_top
    控件的上边界与父容器上边界的像素距离,可以是数字(如 50),也可以是字符串(如 50%)。 {@exclude mx.datacontrols.ComplexForm} {@exclude mx.datacontrols.DataGridSearchBox} {@exclude mx.datacontrols.DynamicForm} {@exclude mx.datacontrols.SkinDataForm}

继承自


setVisible(p_visible) 方法

设置 visible 字段的值。@param p_visible 一个 Boolean 值,表示控件是否可见。

参数

  • p_visible
    一个 Boolean 值,表示控件是否可见。

继承自


setWidth(p_width) 方法

设置 width 字段的值。@param p_width 控件的高度,可以是数字(如 500)、字符串(如“500px”或“50%”).

参数

  • p_width
    控件的高度,可以是数字(如 500)、字符串(如“500px”或“50%”).

继承自


show() 方法

显示控件,设置控件可见。

继承自


validate(p_data, [p_withoutIndication]) 方法

执行验证表单的逻辑。 返回一个对象(如 { successful: true }),该对象的 successful 属性表示该表单通过验证; 如果返回对象为 { successful: false, hint: "描述错误原因。", fieldName: "错误字段名称" },其中 fieldName 是可选字段,是出错字段的 FormField.name,原因由 hint 描述。 该方法将触发 onvalidate 事件,可通过该事件进行自定义数据校验,详见该事件示例。

参数

  • p_data
    待校验的表单数据。
  • p_withoutIndication
    可选的。默认值为“false”。指定是否需要采用提示。

$(p_expression) 方法

该方法与 me.$e.find(p_expression) 等同。

参数

  • p_expression

继承自


$wrap([p_obj]) 方法

返回一个 JQuery 对象。

参数

  • p_obj
    可选的。默认值为“me.$e”。一个 JQuery 对象,或继承自 Control 的控件,或字符串,或 HTML DOM 元素。 如果参数为 JQuery 对象,则返回本身; 如果参数为继承自 Control 的控件,则返回控件的 $e 对象; 如果参数为字符串,则返回以字符串为选择器的 JQuery 对象; 如果参数为空,则返回控件本身的 $e 对象。

继承自


字段详细信息

alias 字段

获取或设置一个字符串,表示控件的别名。

继承自


baseUrl 字段

详见 DataGrid.baseUrl 属性。 只有当entityContainer 属性对应的数据容器对象的type属性值为local时,可以不需要设置该属性,其它情况下必须设置

border 字段

获取控件的边框样式。如“1px solid red”,表示边框的样式为 1 像素红色的实线。请使用 setBorder 方法设置该字段的值。

继承自


bottom 字段

获取控件的下边界与父容器下边界的像素距离。请使用 setBottom 方法设置该字段的值。

继承自


captionColumnWidth 字段

获取标题列的宽度。@default 120

默认值

120

cssClass 字段

指定css伪类名称,设置控件显示样式

继承自


display 字段

获取控件的显示样式值。如“none”,表示隐藏控件; “block”表示强制作为块对象呈递。请使用 setDisplay方法设置该字段的值。

继承自


displayPrimaryKey 字段

获取或者设置一个 Boolean 值,该属性表示是否需要显示表单中的主键字段。

editorEnterNavigate 字段

一个Boolean值,表示按enter键时,表单是否在可以编辑的editor之间切换,类似tab键。 如果为true,则切换,false为不切换

默认值

false

editors 字段

获取一个集合,包含表单中所有的编辑器(Editor 类型)。

集合

该字段是一个集合数组字段。 集合中成员的类型为 mx.editors.Editor

集合索引

编辑器的标识或编辑器在集合中的序号(从 0 开始计数)。

enableBrowserContextMenu 字段

获取或初始化设置是否允许浏览器默认的上下文菜单。

继承自


enabled 字段

获取控件是否可以对用户交互作出响应。如果该值为 true,则表示控件可以对用户交互作出响应;反之则不能。 请使用 setEnabled 方法设置该字段的值。@default true

继承自

默认值

true

entityContainer 字段

获取一个 FormEntityContainer 对象(通常是 FormEntityContainer 类型),表示表单的数据源。 请使用 setEntityContainer 方法设置该字段的值。

eTag 字段

获取控件的标签。

继承自

默认值

<div/>

fieldCaptionRender 字段

设置或获取一个函数,用来自定义表单中字段的标题显示方式。 函数需要返回一个 JQquey 对象或者一个 HTML 片段,返回值将用作字段的标题。 @param p_field 表单中的一个字段。 @returns 一个 JQquey 对象或者一个 HTML 片段,将替换当前字段的标题。

fields 字段

获取一个具有层次关系的集合,包含当前表单中所有字段(FormField)和字段分组(FormFieldGroup)信息。 另请参考 allFields 字段。

集合

该字段是一个集合数组字段。

集合索引

数字或字段名称(FormField.name)。

groups 字段

获取一个集合,包含表单中所有的编辑器(FormFieldGroup 类型)。 @item mx.datacontrols.FormFieldGroup @index FormFieldGroup的name或FormFieldGroup在集合中的序号(从 0 开始计数)。

集合

该字段是一个集合数组字段。 集合中成员的类型为 mx.datacontrols.FormFieldGroup

集合索引

FormFieldGroup的name或FormFieldGroup在集合中的序号(从 0 开始计数)。 {@exclude mx.datacontrols.SkinDataForm}

height 字段

获取控件的高度。可以是数字(如 500)、字符串(如“500px”)。请使用 setHeight 方法设置该字段的值。

继承自


hintWithCaption 字段

获取或设置form保存时,提示中是否显示错误字段的caption。

ignoreCheckOnHide 字段

一个Boolean值,表示是否忽略隐藏编辑器的校验,如果为true,则忽略,false为校验

默认值

true

layoutConfigs 字段

获取或者设置一个 JSON 对象,该属性表示控件在父容器中的布局配置参数。该属性只有在控件父容器运用布局器才会生效。

继承自


left 字段

获取控件的左边界与父容器左边界的像素距离。请使用 setLeft 方法设置该字段的值。

继承自


maxCols 字段

获取和设置单行中最大列宽度总数。@default 2

默认值

2

parent 字段

获取控件所属的父对象。

继承自


permissionID 字段

获取或设置一个字符串,表示控件的权限标识。

继承自


position 字段

获取控件位置样式值。请使用 setPosition 方法设置该字段的值。

该字段的可选值包括:

  • relative
  • absolute

继承自


primaryKey 字段

详见 DataGrid.primaryKey 属性。 此属性必须在初始化控件时设置

printHideFields 字段

是否打印默认隐藏的字段。

默认值

false

right 字段

获取控件的右边界与父容器右边界的像素距离。请使用 setRight 方法设置该字段的值。

继承自


top 字段

获取控件的上边界与父容器上边界的像素距离。请使用 setTop 方法设置该字段的值。

继承自


typeName 字段

获取当前类型实例的类的类型。

visible 字段

获取一个 Boolean 值,表示控件是否可见。如果该值为 true,则表示控件可见;反之则不可见。请使用 setVisible 方法设置该字段的值。@default true

继承自

默认值

true

width 字段

获取控件的宽度。可以是数字(如 500)、字符串(如“500px”或“50%”)。请使用 setWidth 方法设置该字段的值。

继承自


$e 字段

获取该控件的占位符,该占位符为一个 JQuery 对象。

继承自


事件详细信息

onload 事件

当表单加载完数据后触发该事件。

onloading 事件

当数据容器开始加载数据时,将触发该事件。调用 load 方法时会触发该事件。

参数

  • cancel
    一个 Boolean 值,表示是否中止当前的加载动作。

onrendering 事件

加载数据之后,表单渲染之前将触发该事件。

参数

  • fields
    一个代表列信息的数组,如 [ {"name":"id","caption":"id","nullable":false,"length":32,"maxLength":100,"precision":3,"readOnly":false,"editorType":"TextEditor","dataType":"string","textMode":"","locked":false,"visible":true}, {"name":"name","caption":"名称","nullable":false,"length":32,"maxLength":100,"precision":3,"readOnly":false,"editorType":"TextEditor","dataType":"string","textMode":"","locked":false,"visible":true} ]
  • cancel
    一个 Boolean 值,表示是否中止当前的渲染动作。

onsubmit 事件

当表单提交是触发该事件。

onvalidate 事件

当验证表单输入时将触发该事件。调用 validate 方法时会触发该事件。可通过订购该事件,实现对表单的自定义验证

参数

  • successful
    指定是否成功通过验证。默认为 true。
  • hint
    指定没有通过验证的原因。默认为 null。

示例 1

下面是一段创建用户的 Form 代码,除需进行必填字段校验外,还需校验两次密码输入是否一致,这时需要订购 onvalidate 事件进行自定义验证的开发:
JavaScript 代码
var entityContainer = new mx.datacontainers.FormEntityContainer( baseUrl: mx.mappath("~/user") ); var form = new mx.datacontrols.DataForm({ entityContainer: entityContainer, fields: [ { name: "userName", caption: "用户名", nullable: false }, { name: "password", caption: "密码", textMode: "password", nullable: false }, { name: "confirmPassword", caption: "密码", textMode: "password", nullable: false } ] }); entityContainer.load(); form.on("validate", function(e) { // e.param,待校验的表单数据。 // e.dataForm,当前表单信息。 var entityContainer = form.entityContainer; if (entityContainer.getValue("password") != entityContainer.getValue("confirmPassword")) { // 通过事件参数传递校验结果 e.successful = false; e.hint = "两次输入的密码不一致。"; } });