模型驱动应用中窗体和网格中的事件

事件启动所有客户端代码。 在模型驱动应用中,将 JavaScript 库(脚本 Web 资源)中的特定函数关联在事件发生时要执行。 此函数称为 事件处理程序。 每个事件处理程序指定 JavaScript 库中的单个函数以及可传递给函数的任何参数。

可以使用 UI 将事件处理程序关联到某些事件。 对于无法通过 UI 关联的事件,客户端 API 提供了可用于将事件处理程序附加到此类事件的方法。

使用 UI 向事件添加或删除事件处理程序函数

使用“窗体属性”对话框的“事件处理程序”部分将脚本与窗体和列的事件相关联。

窗体属性中的事件处理程序部分。

批量编辑表单

默认情况下,当窗体处于批量编辑模式时,不会调用事件处理程序。

若要在批量编辑模式下启用事件处理程序,请通过查找相关 event 元素并创建/设置属性 BehaviorInBulkEditFormEnabled修改 Form XML。 目前,仅 OnLoad 事件支持此作。

有关表单 XML 自定义的详细信息,请参阅 何时编辑自定义项文件自定义窗体窗体 XML 架构

若要确定何时在批量编辑模式下对窗体调用事件处理程序,请使用 getFormType 方法。

使用代码向事件添加或删除事件处理程序函数

使用以下方法为无法通过 UI 关联的事件添加和删除事件处理程序:

事件 事件处理程序
Attribute OnChange addOnChangeremoveOnChange 方法
Form OnLoad formContext.ui addOnLoadremoveOnLoad 方法
已加载窗体 formContext.ui addLoadedremoveLoaded 方法
表单数据 OnLoad formContext.data addOnLoadremoveOnLoad 方法
窗体 OnSave addOnSaveremoveOnSave 方法
查找控件 PreSearch addPreSearchremovePreSearch 方法
kbsearch 控件 OnResultOpened addOnResultOpenedremoveOnResultOpened 方法
kbsearch 控件 OnSelection addOnSelectionremoveOnSelection 方法
kbsearch 控件 PostSearch addOnPostSearchremoveOnPostSearch 方法

重要

执行上下文自动作为第一个参数传递给使用代码设置的函数。 详细信息: 客户端 API 执行上下文

表单事件管道

最多可为每个事件定义 50 个事件处理程序。 每个事件处理程序按窗体属性对话框的“事件”选项卡中的“事件处理程序”部分显示的顺序执行。

使用 setSharedVariablegetSharedVariable 方法在事件处理程序(函数)之间传递公共变量。 使用执行上下文 getDepth 方法了解相对于其他事件处理程序执行的事件处理程序的顺序。

了解客户端 API 对象模型
客户端 API 执行上下文
事件(客户端 API 参考)