C# 下拉菜单的设置 lookupedit

本文详细介绍了控件LookUpEdit的两种数据源应用:枚举类型和数据库查询。通过实例展示了如何利用枚举值和数据库结果填充下拉菜单,并解析了绑定数据源、显示字段和值字段的具体操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下拉菜单的设置

控件LookUpEdit(下拉菜单)
分为两种

1.数据源来源为枚举型

  public enum EWarehouseState
    {
        [CommentAttribute("已删除")]
        deleted = -1, 
        [CommentAttribute("未使用")]
        Unused = 0,
        [CommentAttribute("已锁定")]
        Locked = 1,
        [CommentAttribute("已出库")]
        OutoftheWarehouse = 2,
        [CommentAttribute("已使用")]
        Used = 3
    }
    
 //状态栏的下拉
 lookUpStatus.Properties.DataSource = EnumHelper.GetAllEnumKeyValue<EWarehouseState>();
 lookUpStatus.Properties.DisplayMember = "Value";
 lookUpStatus.Properties.ValueMember = "Key";
 

//获取枚举的所有值
 public static List<KeyValuePair<int, string>> GetAllEnumKeyValue<T>()
        {
            List<KeyValuePair<int, string>> lstResult = new List<KeyValuePair<int, string>>();

            var enumType = typeof(T);
            foreach (var item in Enum.GetNames(enumType))
            {
                var attrs = enumType.GetField(item).GetCustomAttributes(false);
                CommentAttribute commentAttr;
                KeyValuePair<int, string> keyValueItem;
                var value = (int)enumType.GetField(item).GetValue(enumType);
                if (attrs != null && (commentAttr = attrs.FirstOrDefault(p => p is CommentAttribute) as CommentAttribute) != null)
                {
                    keyValueItem=  new KeyValuePair<int, string>(value, commentAttr.Commment);
                }
                else
                {
                    keyValueItem = new KeyValuePair<int, string>(value, item);
                }
                lstResult.Add(keyValueItem);
            }
         
            return lstResult;
        }

2.数据来源为数据库

lstMachine = JsonHelper.DeserializeObject<List<Machinemodel>>(AppSession.WindowsDataService.GetMachineModels(JsonHelper.SerializeObject(null)));//从数据库中查询数据
lookUpMachineModel.Properties.DataSource = lstMachine;//绑数据源
lookUpMachineModel.Properties.DisplayMember = "Modelname";//设置显示的字段
lookUpMachineModel.Properties.ValueMember = "Id";


如果下拉菜单显示和绑定的数据不一致,检查Designer中的代码
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值