简单记录一下金蝶动态表单插件
动态表单模型是通过插件代理实现业务逻辑,对外部的接口主要是插件,这些接口可以提供给二次开发使用。 命名空间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 页面关闭前
对于大多数二次开发来说并不需要掌握所有接口。
简单记录一下金蝶动态表单插件相关推荐
- K3/Cloud点按钮打开单据,列表,动态表单,简单账表和直接Sql报表示例
BOS IDE中配置了个界面,拖了动态表单界面,加了5个测试按钮. 点击"打开单据"维护界面, 会跳转到一个新的主界面页签,[物料]新增 点击"打开列表",会弹 ...
- 插件中对动态表单数据模型进行赋值实现动态表单数据绑定
默认情况下,表单的数据模型创建及赋值由BOS基类实现,一些特殊场景需要在插件中动态创建及赋值绑定. 下面为动态表单"付款单明细列表"的表单插件,PurchaseServiceHel ...
- MyBatis-Plus动态表名插件使用
一.MyBatis-Plus动态表名插件使用 官方文档-动态表名插件:https://baomidou.com/pages/2a45ff/#dynamictablenameinnerintercept ...
- 无表单不业务,动态表单让业务系统更高级
编者按:表单对于业务系统有什么意义?本文分析了业务系统和表单的关系,并比较了普通表单和动态表单和优劣,指出动态表单对业务系统的增益,最后介绍了动态表单的应用实践. 关键词:低代码平台:表单引擎:动态表 ...
- java动态表单设计解析
于雷劈网的表单设计器扩展,java实现后台解析(插件内容和字段和原版有一定改变).致敬雷劈网.http://formdesign.leipi.org/ 全部代码地址在 https://gitee.co ...
- 30 个最好的jQuery表单插件
jQuery 的出现为我们的开发工作带来了极大的便利,而众多的基于jQuery插件的出现就犹如我们在 Firefox 中安装名目繁多的插件一样而乐此不疲,今天带给大家的是精心挑选的这30个最好的jQu ...
- jsf表单验证_动态表单,JSF世界期待已久
jsf表单验证 新的PrimeFaces扩展版本0.5.0带来了新的DynaForm组件. 通常,如果知道行/列的数量,元素的位置等,则可以通过h:panelGrid或p:panelGrid构建非常简 ...
- 动态表单,JSF世界早已等待
新的PrimeFaces扩展版本0.5.0带来了新的DynaForm组件. 通常,如果知道行/列的数量,元素的位置等,则可以通过h:panelGrid或p:panelGrid来构建非常简单的表单. 对 ...
- element手机验证格式_基于Vue+elementUI实现动态表单的校验功能(根据条件动态切换校验格式)...
前言 开发过程中遇到了一个需求,根据用户选择的联系方式,动态改变输入框的检验条件,并且整个表单是可以增加的 在线访问:动态表单校验 github(欢迎star): https://github.com ...
最新文章
- Android开发之Android性能优化记录
- python 桌面提醒_使用Python获取桌面通知
- javabean 学习笔记
- 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面.
- java epoch time_Java LocalDate ofEpochDay()用法及代码示例
- order调用mdp
- Linux编程中 #define _XOPEN_SOURCE的作用
- 内存泄漏分析小工具分享(基于UMDH)
- centos 7下安装mysql
- 怎么设置某个用户生成hdfs文件的权限_管理 HDFS 服务
- intel无线网卡日志服务器,不定期找不到Intel N 2230无线网卡
- 【揭秘】中国四大银行的大数据应用已到了哪个阶段?
- phpstudy没有安装VC11、VC14运行库
- 2022为什么一定要学网络安全?
- .net Response导出excel表格边框设置日期时间设置
- 数模转换器(DAC)——百度百科
- 频率变标算法(FSA,Frequency Scaling)
- 随便写的:新戏剧之王,一部广义上的烂片观后感
- Kotlin学习(7):返回和跳转
- 欺骗的艺术----(5)
热门文章
- google免费导航来了,导航API还会远吗
- 使用eolinker接口返回结果入库
- 装饰者模式及其在 Android Context 中的应用
- ubuntu下代码比较工具-beyond compare
- 【VOLTE】ROHC 健壮性包头压缩
- 华为虚拟机 获取不到ip_无线客户端获取不到ip地址
- SQL SERVER 2008 R2 序列号大全
- 安卓(vivo)手机上使用Termux,在手机部署linux环境,实现python的应用
- 小程序设置背景图片的两种方法总结
- [Realtek sdk-4.4.1]RTL8198D Nand Flash 使用uboot env