【学习】动态表单 下拉列表动态赋值原创
5人赞赏了该文章
572次浏览
编辑于2024年05月06日 11:27:00
创建表单
添加字段
供应商:多选下拉列表 F_VVHD_MulCombo
单据编号:文本 F_VVHD_Text
开始日期:日期 F_VVHD_Date
结束日期:日期 F_VVHD_Date1
赋值
多选下拉列表不需要绑定枚举类型使用插件进行赋值
继承动态表单类:AbstractDynamicFormPlugIn
重写数据绑定方法:AfterBindData
代码分享
using Kingdee.BOS; using Kingdee.BOS.App.Data; using Kingdee.BOS.Core.DynamicForm.PlugIn; using Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel; using Kingdee.BOS.Core.Metadata; using Kingdee.BOS.ServiceHelper; using Kingdee.BOS.Util; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Linq; using System.Text; namespace XueXi { [Description("学习多选下拉列表动态赋值"), HotUpdate] public class Calss7 : AbstractDynamicFormPlugIn { public override void AfterBindData(EventArgs e) { base.AfterBindData(e); //定义一个枚举项目列表 List<EnumItem> enumList = new List<EnumItem>(); var sql = @"select A.FSUPPLIERID,FNUMBER,FNAME from T_BD_SUPPLIER A LEFT OUTER JOIN T_BD_SUPPLIER_L L ON A.FSUPPLIERID = L.FSUPPLIERID"; //按流方式执行查询 获取 供应商ID 编码和名称 DataSet ds = DBServiceHelper.ExecuteDataSet(this.Context, sql); DataTable dt = ds.Tables[0]; for (int i = 0; i < dt.Rows.Count; i++) { string FSUPPLIERID = dt.Rows[i]["FSUPPLIERID"].ToString();//ID string FNUMBER = dt.Rows[i]["FNUMBER"].ToString();//编码 string FNAME = dt.Rows[i]["FNAME"].ToString();//名称 EnumItem enumItem = new EnumItem();//定义一个枚举项目 enumItem.Caption = new LocaleValue(FNUMBER);//标题 可以在选项里面看到的 enumItem.Value = FSUPPLIERID; //值 取值时所得到的 enumList.Add(enumItem);//添加到列表 } //获取要赋值的下拉列表 如果标识找不到 会报错 var comboList = this.View.GetFieldEditor<ComboFieldEditor>("F_VVHD_MulCombo", 0); comboList.SetComboItems(enumList);//进行赋值 } } }
赞 5
5人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读