动态表单模型是通过插件代理实现业务逻辑,对外部的接口主要是插件,这些接口可以提供给二次开发使用。 命名空间Kingdee.BOS.Core.DynamicForm.PlugIn 主要类及说明:

[tr][td=3%][td=44%]Class[td=51%]Description

[tr][td=3%][td=44%]AbstractDynamicFormDataBinder[td=51%]动态表单数据绑定器抽象类

[tr][td=3%][td=44%]AbstractDynamicFormPlugIn[td=51%]动态表单插件抽象基类

[tr][td=3%][td=44%]AbstractDynamicWebFormBuilderPlugIn[td=51%]动态表单页面元数据构建插件

[tr][td=3%][td=44%]AbstractOperationServicePlugIn[td=51%]操作服务插件抽象类

主要接口:

[tr][td=3%][td=36%]Interface[td=59%]Description

[tr][td=3%][td=36%]IDynamicFormModelPlugIn[td=59%]动态表单Model层插件控制接口;实现本接口的插件,可以接收Model层的事件

[tr][td=3%][td=36%]IDynamicFormViewPlugIn[td=59%]动态表单View层插件接口;实现本接口的插件可以接收动态表单View层事件

继承体系动态表单插件分4类,单据、基础资料、动态表单和列表。

[tr][td=92]业务模型[td=123]类(插件、服务)[td=365]继承自抽象类

[tr][td=1,3,92]表单插件[td=123]单据插件[td=365]Kingdee.BOS.Core.Bill.PlugIn.AbstractBillPlugIn

[tr][td=123]基础资料插件[td=365]Kingdee.BOS.Core.Base.PlugIn.AbstractBasePlugIn

[tr][td=123]动态表单插件[td=365]Kingdee.BOS.Core.DynamicForm.PlugIn.AbstractDynamicFormPlugIn

[tr][td=92]列表插件[td=123]列表插件[td=365]Kingdee.BOS.Core.List.PlugIn.AbstractListPlugIn

接口视图访问接口接口名:IdynamicFormViewPlugIn动态表单View层插件接口;实现本接口的插件可以接收动态表单View层事件。

[tr][td=18][td=195]Name[td=311]Description

[tr][td=18][td=195]AfterBarItemClick[td=311]菜单单击事件完成后处理扩展接口

[tr][td=18][td=195]AfterBindData[td=311]绑定数据后事件处理后扩展接口

[tr][td=18][td=195]AfterButtonClick[td=311]按钮单击之后调用

[tr][td=18][td=195]AfterCopyRow[td=311]分录行拷贝后调用

[tr][td=18][td=195]AfterDoOperation[td=311]操作完成后调用

[tr][td=18][td=195]AfterEntryBarItemClick[td=311]分录菜单单击事件处理扩展接口

[tr][td=18][td=195]AfterF7Select[td=311]基础资料选择返回后调用

[tr][td=18][td=195]AfterToolBarItemClick[td=311]工具栏单击事件处理扩展接口

[tr][td=18][td=195]BarItemClick[td=311]主菜单单击事件处理扩展接口

[tr][td=18][td=195]BeforeBindData[td=311]绑定数据前事件处理后扩展接口,主要用于加载数据到界面前对控件状态进行设置

[tr][td=18][td=195]BeforeClosed[td=311]页面准备关闭

[tr][td=18][td=195]BeforeDoOperation[td=311]操作开始前调用

[tr][td=18][td=195]BeforeF7Select[td=311]基础资料界面调出之前抛出

[tr][td=18][td=195]ButtonClick[td=311]按钮单击时调用

[tr][td=18][td=195]EntityRowClick[td=311]分录行单击事件

[tr][td=18][td=195]EntityRowDoubleClick[td=311]分录行双击事件

[tr][td=18][td=195]EntryBarItemClick[td=311]分录菜单单击事件处理扩展接口

[tr][td=18][td=195]EntryButtonCellClick[td=311]表格按钮单击时调用

[tr][td=18][td=195]FieldLabelClick[td=311]字段标题单击事件

[tr][td=18][td=195]FireEntryCheck[td=311]单据体列全选事件

[tr][td=18][td=195]ListViewClick[td=311]列表控件单击事件

[tr][td=18][td=195]OnInitialize[td=311]页面初始化

[tr][td=18][td=195]TabItemSelectedChange[td=311]页签控件的页签选中事件

[tr][td=18][td=195]ToolBarItemClick[td=311]工具栏单击事件处理扩展接口

[tr][td=18][td=195]TreeDragDrop[td=311]KDTree 拖拽事件

[tr][td=18][td=195]TreeNodeClick[td=311]TreeView 节点单击之后调用

[tr][td=18][td=195]TreeNodeDoubleClick[td=311]TreeView 节点双击之后调用

模型访问接口接口名:IdynamicFormModelPlugIn动态表单Model层插件控制接口;实现本接口的插件,可以接收Model层的事件。主要包括:

[tr][td=18][td=196]Name[td=322]Description

[tr][td=18][td=196]AfterCopyRow[td=322]分录行拷贝后扩展接口

[tr][td=18][td=196]AfterCreateNewData[td=322]业务对象创建后的扩展接口

[tr][td=18][td=196]AfterCreateNewEntryRow[td=322]新增、插入、多行输入后调用

[tr][td=18][td=196]AfterDeleteEntry[td=322]清空分录数据完成时调用

[tr][td=18][td=196]AfterDeleteRow[td=322]成功删除分录行后扩展接口调用

[tr][td=18][td=196]BeforeDeleteEntry[td=322]清空分录数据前调用,可以由插件模型决定是否Cancel本次行为

[tr][td=18][td=196]BeforeDeleteRow[td=322]删除分录行前调用

[tr][td=18][td=196]BeforeSetItemValueByNumber[td=322]在根据编码检索数据之前调用; 通过重载本事件,可以设置必要的过滤条件,以限定检索范围;

[tr][td=18][td=196]BeforeUpdateValue[td=322]值改变更新前的扩展接口

[tr][td=18][td=196]CreateNewData[td=322]创建新业务对象扩展接口,插件可以更加需要自己创建对象

[tr][td=18][td=196]DataChanged[td=322]字段值改变后扩展接口

[tr][td=18][td=196]GetTreeViewData[td=322]请求取树形控件数据

加载机制动态表单元模型包括外观模型和表单逻辑模型,第一次访问时会先加载元数据,初始化视图和模型对象,初始化页面,然后创建数据包并绑定数据。对于二次开发提供了一系列插件允许二次开发在加载表单时对视图、模型、数据包及界面进行控制,插件在加载过程中的执行顺序如下:

PreOpenForm 动态表单打开前事件

OnInitializeService服务初始化

OnSetBusinessInfo 处理逻辑元数据

OnSetLayoutInfo处理外观元数据

OnCreateDataBinder创建数据绑定器事件

OnInitialize 页面初始化

CreateNewData动态表单数据包创建

AfterCreateNewEntryRow 创建分录行后

AfterCreateNewData动态表单数据包创建后

AfterCreateModelData模型数据包创建完毕

OnLoad页面加载

BeforeBindData 绑定数据前事件

AfterBindData绑定数据及控件状态

BeforeClosed 页面关闭前

对于大多数二次开发来说并不需要掌握所有接口。

简单记录一下金蝶动态表单插件相关推荐

  1. K3/Cloud点按钮打开单据,列表,动态表单,简单账表和直接Sql报表示例

    BOS IDE中配置了个界面,拖了动态表单界面,加了5个测试按钮. 点击"打开单据"维护界面, 会跳转到一个新的主界面页签,[物料]新增 点击"打开列表",会弹 ...

  2. 插件中对动态表单数据模型进行赋值实现动态表单数据绑定

    默认情况下,表单的数据模型创建及赋值由BOS基类实现,一些特殊场景需要在插件中动态创建及赋值绑定. 下面为动态表单"付款单明细列表"的表单插件,PurchaseServiceHel ...

  3. MyBatis-Plus动态表名插件使用

    一.MyBatis-Plus动态表名插件使用 官方文档-动态表名插件:https://baomidou.com/pages/2a45ff/#dynamictablenameinnerintercept ...

  4. 无表单不业务,动态表单让业务系统更高级

    编者按:表单对于业务系统有什么意义?本文分析了业务系统和表单的关系,并比较了普通表单和动态表单和优劣,指出动态表单对业务系统的增益,最后介绍了动态表单的应用实践. 关键词:低代码平台:表单引擎:动态表 ...

  5. java动态表单设计解析

    于雷劈网的表单设计器扩展,java实现后台解析(插件内容和字段和原版有一定改变).致敬雷劈网.http://formdesign.leipi.org/ 全部代码地址在 https://gitee.co ...

  6. 30 个最好的jQuery表单插件

    jQuery 的出现为我们的开发工作带来了极大的便利,而众多的基于jQuery插件的出现就犹如我们在 Firefox 中安装名目繁多的插件一样而乐此不疲,今天带给大家的是精心挑选的这30个最好的jQu ...

  7. jsf表单验证_动态表单,JSF世界期待已久

    jsf表单验证 新的PrimeFaces扩展版本0.5.0带来了新的DynaForm组件. 通常,如果知道行/列的数量,元素的位置等,则可以通过h:panelGrid或p:panelGrid构建非常简 ...

  8. 动态表单,JSF世界早已等待

    新的PrimeFaces扩展版本0.5.0带来了新的DynaForm组件. 通常,如果知道行/列的数量,元素的位置等,则可以通过h:panelGrid或p:panelGrid来构建非常简单的表单. 对 ...

  9. element手机验证格式_基于Vue+elementUI实现动态表单的校验功能(根据条件动态切换校验格式)...

    前言 开发过程中遇到了一个需求,根据用户选择的联系方式,动态改变输入框的检验条件,并且整个表单是可以增加的 在线访问:动态表单校验 github(欢迎star): https://github.com ...

最新文章

  1. Android开发之Android性能优化记录
  2. python 桌面提醒_使用Python获取桌面通知
  3. javabean 学习笔记
  4. 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面.
  5. java epoch time_Java LocalDate ofEpochDay()用法及代码示例
  6. order调用mdp
  7. Linux编程中 #define _XOPEN_SOURCE的作用
  8. 内存泄漏分析小工具分享(基于UMDH)
  9. centos 7下安装mysql
  10. 怎么设置某个用户生成hdfs文件的权限_管理 HDFS 服务
  11. intel无线网卡日志服务器,不定期找不到Intel N 2230无线网卡
  12. 【揭秘】中国四大银行的大数据应用已到了哪个阶段?
  13. phpstudy没有安装VC11、VC14运行库
  14. 2022为什么一定要学网络安全?
  15. .net Response导出excel表格边框设置日期时间设置
  16. 数模转换器(DAC)——百度百科
  17. 频率变标算法(FSA,Frequency Scaling)
  18. 随便写的:新戏剧之王,一部广义上的烂片观后感
  19. Kotlin学习(7):返回和跳转
  20. 欺骗的艺术----(5)

热门文章

  1. google免费导航来了,导航API还会远吗
  2. 使用eolinker接口返回结果入库
  3. 装饰者模式及其在 Android Context 中的应用
  4. ubuntu下代码比较工具-beyond compare
  5. 【VOLTE】ROHC 健壮性包头压缩
  6. 华为虚拟机 获取不到ip_无线客户端获取不到ip地址
  7. SQL SERVER 2008 R2 序列号大全
  8. 安卓(vivo)手机上使用Termux,在手机部署linux环境,实现python的应用
  9. 小程序设置背景图片的两种方法总结
  10. [Realtek sdk-4.4.1]RTL8198D Nand Flash 使用uboot env