二开案例.表单插件.动态刷新列表
【应用场景】
将列表嵌入到动态表单的某个面板中,在动态表单上,动态刷新列表。
【案例演示】
采购订单,将物料列表嵌入到明细页签的面板中,新增基础资料字段,基础资料类型绑定物料,当该基础资料字段的值发生变化时,以当前值作为过滤条件,动态刷新物料列表。
【实现步骤】
<1>编写表单插件,代码如下。
using Kingdee.BOS.Core.CommonFilter; using Kingdee.BOS.Core.DynamicForm; using Kingdee.BOS.Core.DynamicForm.PlugIn; using Kingdee.BOS.Core.DynamicForm.PlugIn.Args; using Kingdee.BOS.Core.List; using Kingdee.BOS.Orm.DataEntity; using Kingdee.BOS.Util; using System; using System.ComponentModel; namespace Jac.XkDemo.BOS.Business.PlugIn { /// <summary> /// 【表单插件】动态刷新列表 /// </summary> [Description("【表单插件】动态刷新列表"), HotUpdate] public class RefreshListFormPlugIn : AbstractDynamicFormPlugIn { /// <summary> /// 已经打开的列表视图的页面ID /// </summary> private string pageId = ""; public override void DataChanged(DataChangedEventArgs e) { base.DataChanged(e); if (e.Field.Key.EqualsIgnoreCase("F_Jac_Base")) { var obj = this.Model.GetValue(e.Field.Key) as DynamicObject; var filterString = obj != null ? string.Format("FMATERIALID=" + obj[0]) : "1=0"; if (string.IsNullOrWhiteSpace(pageId)) { // 首次打开物料列表 pageId = Guid.NewGuid().ToString(); var showParameter = new ListShowParameter(); showParameter.ParentPageId = this.View.PageId; showParameter.PageId = pageId; showParameter.FormId = "BD_MATERIAL"; showParameter.OpenStyle.TagetKey = "F_Jac_Panel"; showParameter.OpenStyle.ShowType = ShowType.InContainer; // 强制指定过滤条件 var filterParameter = new ListRegularFilterParameter(); filterParameter.Filter = filterString; //filterParameter.FilterChanged = true; showParameter.ListFilterParameter = filterParameter; this.View.ShowForm(showParameter); } else { // 获取已经打开的物料列表 var listView = (IListView)this.View.GetView(pageId); // 强制指定过滤条件 listView.Model.FilterParameter.FilterString = filterString; listView.RefreshByFilter(); this.View.SendAynDynamicFormAction(listView); } } } } }
<2>拷贝插件组件到应用站点的WebSite\Bin目录下,重启IIS。
<3>BOSIDE扩展采购订单,新增一个基础资料字段,基础资料类型设置为物料,分录页签控件新增一个页签,新增页签上新增一个面板,停靠属性设置为充满,注册表单插件,保存元数据,开发完毕。
【功能验证】
<1>登录业务站点,打开采购订单新增界面,物料过滤字段上,输入不同的物料,界面下方的物料列表将同步刷新数据。
---------------------------------------------------------------------------------------------------------
【金蝶云星空BOS二次开发案例演示】https://vip.kingdee.com/article/94751030918525696
二开案例.表单插件.动态刷新列表
【应用场景】将列表嵌入到动态表单的某个面板中,在动态表单上,动态刷新列表。【案例演示】采购订单,将物料列表嵌入到明细页签的面板中,...
点击下载文档
上一篇:二开案例.表单插件.标签下一篇:二开案例.表单插件.设置标签标题
本文2024-09-23 04:00:13发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-162481.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章