C#将一个枚举里面所有描述和value绑定到下拉列表的方法

Posted 小熊vs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#将一个枚举里面所有描述和value绑定到下拉列表的方法相关的知识,希望对你有一定的参考价值。

 

/// <summary>
/// 获取枚举值的描述,如果没有描述,则返回枚举名称
/// </summary>
/// <param name="en">枚举值</param>
/// <returns>描述</returns>
public static string GetEnumDescription(Enum en)
{
     FieldInfo fi = en.GetType().GetField(en.ToString());

     object[] attrs = fi.GetCustomAttributes(typeof(DescriptionAttribute), false);
     if (attrs != null && attrs.Length > 0)
     {
          return ((DescriptionAttribute)attrs[0]).Description;
     }
     else
     {
          return en.ToString();
     }
}

 

 

     ArrayList listcode = new ArrayList();//定义一个集合
     foreach (int i in Enum.GetValues(typeof(ErrorCode))) //将值循环添加至集合中(ErrorCode:枚举的名称)
     {
          ListItem listitem = new ListItem(GetEnumDescription((ErrorCode)i), i.ToString());

     // ListItem listitem = new ListItem(Enum.GetName(typeof(EnumActivityType), i), i.ToString());//获取枚举名称集合
          listcode.Add(listitem);
     }
     for (int i = 0; i < listcode.Count; i++) // 循环就可输出每个枚举的描述和value(可用于为下拉列表框绑值)
     {
          ListItem item = (ListItem)listcode[i];
          var d = item.Text;
          var b = item.Value;
     }

以上是关于C#将一个枚举里面所有描述和value绑定到下拉列表的方法的主要内容,如果未能解决你的问题,请参考以下文章

C#怎么实现下拉框动态绑定数据

jqGrid Select 不更新 onchange (C# MVC)

将枚举的键值绑定到下拉列表框

C# datagridview中添加了一列ComboBox列,这个ComboBox列下拉怎么获取到txt文档里面的数据?

使用 Angular JS 在下拉列表中绑定 MVC 枚举列表

C# 如何在一个Datagridview 的 某一个cell里面 绑定一个自定义的combobox