【学习】动态表单 下拉列表动态赋值原创
金蝶云社区-___________________
___________________
5人赞赏了该文章 572次浏览 未经作者许可,禁止转载编辑于2024年05月06日 11:27:00

创建表单


image.png


添加字段

供应商:多选下拉列表 F_VVHD_MulCombo 

单据编号:文本 F_VVHD_Text

开始日期:日期 F_VVHD_Date

结束日期:日期 F_VVHD_Date1

image.png


赋值

多选下拉列表不需要绑定枚举类型使用插件进行赋值

继承动态表单类:AbstractDynamicFormPlugIn

重写数据绑定方法:AfterBindData

image.png


代码分享

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人打赏
还没有人打赏,快来当第一个打赏的人吧!