版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.架构模型动态表单领域模型插件开发步骤定义插件类(参照继承体系);分析业务定义重载方法;引用相关组件(参照组件引用规则);重载方法编码;设置编译路径,编译组件;打开IDE设计器,配置插件;动态表单视图接口IDynamicFormViewIDynamicFormViewService2个重要的属性BusinessInfoLayoutInfo界面元素访问1、访问菜单this.View.GetMainBarItemthis.View.GetBarItem2、访问表单控件this.View.GetControlthis.View.GetView3、访问字段this.View.GetFieldEdito
2、rthis.View.LockFieldthis.View.SetFormTitle4、执行操作ShowFormUpdateViewInvokeFieldUpdateService动态表单模型接口IDynamicFormModelIDynamicFormModelService属性BusinessInfoDataObject数据操作CreateNewDataCreateNewEntryRowInsertEntryRowGetEntryCurrentRowIndexLoadReferenceDataGetValueGetEntityDataObject动态表单插件命名空间:Kingdee.BOS
3、.Core.DynamicForm.PlugIn抽 象 类:AbstractDynamicFormPlugIn业务模型类(插件)继承自抽象类表单插件单据插件Kingdee.BOS.Core.Bill.PlugIn.AbstractBillPlugIn基础资料插件Kingdee.BOS.Core.Base.PlugIn.AbstractBasePlugIn动态表单插件Kingdee.BOS.Core.DynamicForm.PlugIn.AbstractDynamicFormPlugIn列表插件列表插件Kingdee.BOS.Core.List.PlugIn.AbstractListPlugIn
4、接口IDynamicFormViewPlugInIDynamicFormModelPlugIn加载机制OnInitializeCreateNewData / AfterCreateNewDataBeforeBindData / AfterBindDataBeforeClosed表单操作BeforeDoOperation / AfterDoOperationBeforeF7Select / AfterF7SelectTabItemSelectedChange表单事件BarItemClickEntryBarItemClickToolBarItemClickButtonClickEntityRowC
5、lickEntityRowDoubleClickEntryButtonCellClick模型访问操作BeforeUpdateValueBeforeDeleteRowAfterDeleteRow单据插件(基础资料插件)继承自动态表单接口IBillViewPlugInOnBillInitialize参数BillOpenParameterIBillModelPlugInBeforeSave / AfterSaveBeforeSubmit / AfterSubmit列表插件继承自动态表单接口IListViewPlugInOnListInitialize参数ListOpenParameterAfterG
6、etDataFormatCellValueIListModelPlugInPrepareFilterParameterBatchCopyData过滤条件插件接口IListFilterViewIListFilterModelFilterObjectQuickFilterObjectIsolationOrgIdGetFilterField事件OnParseSettingFireBeforeBindFilterMetadataFireBeforeSelectTreeNodeScheme服务插件命名空间:Kingdee.BOS.Core.DynamicForm.PlugIn抽象类:AbstractOp
7、erationServicePlugIn继承体系:(继承自抽象类)Kingdee.BOS.Core.DynamicForm.PlugIn.AbstractOperationServicePlugIn接口IOperationServicePlugInBeforeExecuteOperationTransactionAfterExecuteOperationTransactionBeginOperationTransactionEndOperationTransaction校验服务IOperationServicePlugInOnAddValidatorsSaveValidator : Abstr
8、actValidatorValidate表单插件和列表插件继承层次表单单据叙事簿基础资料插件针对对象动态表单单据基础资料Kingdee.BOS.Core.dllAbstractBillPlugIn 接口AbstractBillPlugIn的ViewPlugin插件接口OnBillInitialize视图模型初始化事件AfterBindData绑定数据后事件处理接口BeforeF7Select基础资料弹出前事件BeforeClosed窗口关闭前事件BarItemClick菜单单击事件处理扩展接口AfterBarItemClick菜单单击事件后BeforeDoOperation操作调用前事件Aft
9、erDoOperation操作调用完成后事件ButtonClick按钮单击事件AfterButtonClick按钮单击后事件ListViewClick列表项目单击事件TreeNodeClick树控件单击事件TreeDragDrop树控件拖拽EntityRowClick分录行单击事件AbstractBillPlugIn的ModelPlugIn接口动态表单数据模型插件编程接口定义了数据模型扩展允许通过接口处理数据,以实现特定业务需求AbstractBillPlugIn插件方法CreateNewData数据模型创建实体对象事件AfterCreateNewData数据模型创建实体对象完成后事件Befo
10、reUpdateValue数据更新前事件DataChanged数据改变后事件CreateNewEntryRow创建分录行事件BeforeDeleteRow删除分录行事件AfterDeleteRow删除分录后事件叙事簿插件接口AbstractListPlugIn 的ViewPlugIn接口序时簿视图插件编程模型接口定义了序时簿视图模型扩展允许通过接口处理视图,实现特定业务需求ListInitialize视图模型初始化事件AfterGetData完成取数后事件FormatCellValue列表格式化接口BeforeButtonClick按钮和菜单单击前事件AfterButtonClick按钮和菜单
11、单击后事件CellDbButtonClick单元格双击事件AbstractListPlugIn 的ModelPlugIn接口序时簿数据模型插件编程接口定义了序时簿数据模型扩展允许通过接口处理数据,以实现特定业务需求PrepareFilterParameter准备过滤条件CreateFilterEditorControl触发创建过滤条件控件事件BatchCopyData复制单据事件AfterBatchCopyData复制单据完毕事件服务插件插件特性IOperationServicePlugin一般会附加校验器运行于App层事务保护插件针对对象操作Kingdee.BOS.Core.dll服务插件A
12、bstractOperationServicePlugIn应用服务器插件与业务数据更新操作在一个事务执行校验器插件AbstractValidator在服务插件的OnAddValidators加入AbstractOperationServicePlugIn插件方法OnPreparePropertys可以定制加载指定字段到实体里OnAddValidators添加自定义数据校验器BeforeExecuteOperationTransaction执行操作事务前事件AfterExecuteOperationTransaction执行操作事务后事件BeginOperationTransaction调用操作
13、事件前触发(支持事务)EndOperationTransaction调用操作事件完毕(支持事务)表单构建插件继承层次表单单据叙事簿基础资料插件针对对象动态表单单据基础资料Kingdee.BOS.Core.dllAbstractDynamicWebFormBuilderPlugIn插件方法CreateControl构建界面元素事件AfterCreateControl构建界面元素后事件CreateMainMenu构建菜单事件AfterCreateMainMenu构建菜单后事件表单插件调用过程由控制器创建视图、模型、插件代理初始化视图、模型由插件服务注册到插件代理插件代理初始化插件加载数据,通知插件
14、创建数据,创建表单数据包表单操作插件服务调用代理,发送事件通知插件代理调用插件,执行事件返回执行结果View对象属性this.View(View接口)this.View的常用属性BusinessInfo(界面业务对象元数据)LayoutInfo(布局元数据)Model(动态表单模型接口)OpenParameter(页面调用时传入的参数)方法GetFieldEditor (获取界面控件对象)UpdateView(重新更新界面数据及状态)ShowMessage(显示信息)更改界面控件状态this.View. GetFieldEditor示例: / / 设置金额列精度 / / / private v
15、oid SetColumnScale(short iScale, string strField) his.View.GetFieldEditor(strField, -1).Scale = iScale; 更新界面数据和状态this.View.UpdateView示例: / / 字段修改事件函数重载 / public override void DataChanged(DataChangedEventArgs e) switch (e.Key.ToUpper() case FPARENTDEPTID: /组织隶属方案和上级部门变化,重新生成部门全称 this.Model.SetValue(“
16、FFullName”, GetFullName(e.Key); this.View.UpdateView(“FFullName”); break; 显示信息this.View.ShowMessage示例: if (e.CurParentId = 0) this.View.ShowMessage(“请先选择顶层组织。”); return;Model对象属性this.View.Model(动态表单模型接口)This.View.Model的常用属性DataObject 当前对象的数据实体方法GetEntryCurrentRowIndex(获取分录当前行索引)GetEntryRowCount(获取分录
17、行数量)CreateNewEntryRow(新建分录行)GetValue(获取字段(对象)值)SetValue(设置字段(对象)值)获取单据属性:例如分录集合this.View.Model.DataObject示例: / / 获取分录集合 / DynamicObjectCollection entrys = (DynamicObjectCollection)this.View.Model.DataObjectPOOrderEntry;新增单据体分录行this.View.Model.CreateNewEntryRow示例:/ / 单据复制完成事件 / / public override void
18、 AfterCopyData(CopyDataEventArgs e) base.AfterCopyData(e); /单据复制完,处理单据体 _billFormID = “”; this.View.Model.CreateNewEntryRow(“FFieldControl”); UpdateFieldControlRowLock(); 获取字段值this.View.Model.GetValue示例: /获取根节点组织复制到目标节点 Organization org = (DynamicObject) this.View.Model.GetValue(FRootORGID); targetRoot.id = rootOrgId; targetRoot.text = org.Name.ToString(); targetRoot.children = new List(); ctl = this.View.GetControl(FOrgTree);ctl.SetRootNod
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026 学龄前自闭症同伴行为课件
- 甘肃省临夏回族自治州2025-2026学年八年级下学期期中考试历史试卷(含答案)
- 2026 儿童适应能力社交阶段升级课件
- 黑龙江省2025-2026学年高二历史上学期10月月考试题
- 项目4-任务4-子任务1-教案 路由器的基础配置与OSPF协议初识
- 企业培训管理办法
- 医院工程调试方案
- 碳纤维加固检测方案
- 大班猫和老鼠音乐活动方案
- 2026 育儿儿童情绪共情技巧提升课件
- 2026广西梧州苍海投资集团有限责任公司招聘总会计师1人笔试模拟试题及答案解析
- 2024-2025学年四川省成都市石室联中教育集团八年级(下)期中数学试卷
- 小学科学教学中的跨学科融合创新实践研究教学研究课题报告
- 《AQ3067-2026化工和危险化学品重大生产安全事故隐患判定准则》解读
- 2026 年山东春考英语提分技巧全解
- 2026广东东莞市康复实验学校招聘18人备考题库及答案详解(各地真题)
- 2026届湖北黄冈中学等十一校高三下学期第二次联考物理试卷(含答案)
- 2026年智慧树答案【人工智能原理与技术】智慧树网课章节综合提升测试卷及答案详解(夺冠系列)
- 2026年浙江省新月联盟高三语文第二次调研模拟试卷附答案解析
- 2026北京市公安局监所管理总队招聘勤务辅警300人笔试参考题库及答案解析
- 纵隔肿瘤诊疗指南(2025年版)
评论
0/150
提交评论