动态表单插件是单据、基础资料、列表、过滤界面等插件的基类,提供了这些模型插件的统一接口,通过这些接口可以对表单编辑样式、列表样式、操作、model数据等进行控制。 请求加载单据的过程插件一般经历以下几个阶段: 1、 请求打开对应表单,服务端构建打开对应单据的网络指令 a) PreOpenForm 2、 初始化View、Model、为字段添加默认值、将当前页面值刷新到前端控件 a) OnInitializeService b) OnSetBusinessInfo c) OnSetLayoutInfo d) OnCreateDataBinder e) OnIni 本文档中包含共29个案例的示例代码 【金蝶 Cloud 动态表单插件】是金蝶 Cloud 开发中的核心组件,它为单据、基础资料、列表、过滤界面等提供了统一的接口。动态表单插件允许开发者控制表单的编辑样式、列表样式、操作以及 model 数据,从而实现高度定制化的业务流程。 在请求加载单据的过程中,动态表单插件会经历多个关键阶段: 1. **PreOpenForm**:这是在请求打开对应表单之前触发的事件。在这里,开发者可以设置表单的打开参数,例如根据业务条件判断是否允许打开表单,或者设置表单的视图和标题。 2. **初始化阶段**: - **OnInitializeService**:此阶段用于初始化服务,可能包括设置业务逻辑所需的初始数据。 - **OnSetBusinessInfo**:设置业务信息,如字段的默认值,这一步通常发生在数据绑定前。 - **OnSetLayoutInfo**:设置表单布局信息,调整控件的位置和显示方式。 - **OnCreateDataBinder**:创建数据绑定器,用于连接模型和视图。 - **OnInitialize**:整个插件的初始化,可能包括一些通用的设置。 - **OnBillInitialize**:特定单据的初始化,针对不同类型的单据进行个性化配置。 - **CreateNewData**:创建新数据,通常在新增记录时触发。 - **BeforeCreateNewEntryRow**:在创建新分录行之前,可以进行预处理操作。 - **AfterCreateNewData**:新数据创建后执行,可以用于数据验证或后处理。 - **AfterCreateModelData**:模型数据创建后的处理,可能涉及数据的进一步处理或校验。 - **OnLoad**:数据加载完成后触发,用于在数据完全加载后执行的操作。 - **BeforeBindData**:数据绑定前的准备,可能用于调整数据源。 - **AfterBindData**:数据绑定后,用于检查绑定是否成功,或者进行数据呈现后的调整。 此外,插件还支持菜单点击、分录点击等事件,开发者可以根据需求监听这些事件并实现相应的功能。 例如,在`PreOpenForm`事件中,可以通过检查`OpenParameter`来获取用户自定义参数,从而确定表单的状态(新增或编辑)。以下是一个示例代码片段: ```csharp using Kingdee.BOS.Core.Bill.PlugIn; using Kingdee.BOS.Core.Metadata; using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; namespace Kingdee.K3.BD.Common.Business.PlugIn { public class AccountTypeEdit : AbstractBillPlugIn { public override void PreOpenForm(PreOpenFormEventArgs e) { object openType = e.OpenParameter.GetCustomParameter("OperationStatus"); if (openType != null && openType.ToString().Equals("New", StringComparison.OrdinalIgnoreCase)) { this.operationStatus = OperationStatus.ADDNEW; e.OpenParameter.Status = this.operationStatus; } else if (openType != null && openType.ToString().Equals("Edit", StringComparison.OrdinalIgnoreCase)) { this.operationStatus = OperationStatus.EDIT; e.OpenParameter.Status = this.operationStatus; } } } } ``` 在这个例子中,插件根据`OperationStatus`自定义参数判断表单应该是新增还是编辑状态,并相应地设置`Status`,以便于后续逻辑的正确执行。 为了更好地理解和使用金蝶 Cloud 的动态表单插件,开发者应该参考《IDynamicFormModel 接口使用示例代码》和《IDynamicFormView 接口使用示例代码》等相关文档,了解如何与模型(Model)和视图(View)进行交互。同时,金蝶提供了一共29个案例的示例代码,可以帮助开发者快速上手并解决实际问题。 如果在使用过程中遇到任何疑问或问题,可以通过电子邮件`jinbo_zhang@kingdee.com`联系金蝶的技术支持团队,获取帮助。
剩余59页未读,继续阅读
- 粉丝: 0
- 资源: 6
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 面向初学者的 Java 教程(包含 500 个代码示例).zip
- 阿里云OSS Java版SDK.zip
- 阿里云api网关请求签名示例(java实现).zip
- 通过示例学习 Android 的 RxJava.zip
- 通过多线程编程在 Java 中发现并发模式和特性 线程、锁、原子等等 .zip
- 通过在终端中进行探索来学习 JavaScript .zip
- 通过不仅针对初学者而且针对 JavaScript 爱好者(无论他们的专业水平如何)设计的编码挑战,自然而自信地拥抱 JavaScript .zip
- 适用于 Kotlin 和 Java 的现代 JSON 库 .zip
- yolo5实战-yolo资源
- english-chinese-dictionary-数据结构课程设计