• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#枚举绑定到ComboBox

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

来自:http://blog.csdn.net/crazy_frog/article/details/7705442

方法一:

绑定

 

[csharp] view plaincopy
 
  1. enum TestEnum {zero=0,one=1,two=2}         
  2. ComboBox cbo = new ComboBox();   
  3. cbo.DataSource = System.Enum.GetNames(typeof(TestEnum));  
  4. TestEnum  test = TestEnum .one;  
  5. cbo.SelectedIndex = this.cbo.FindString(test.ToString());  
  6. 取值  
  7. TestEnum testenum = (TestEnum)Enum.Parse(typeof(TestEnum) ,cbo.SelectedItem.ToString() ,false)  



 

方法二:

 

[csharp] view plaincopy
 
  1. foreach (var v in typeof(AA).GetFields())  
  2. {  
  3.      if (v.FieldType.IsEnum == true)  
  4.      {  
  5.           this.comboBox1.Items.Add(v.Name);  
  6.       }  
  7. }  
  8. this.comboBox1.SelectedIndex = 1;  



 

方法三:

 

 

[csharp] view plaincopy
 
  1. public static class EnumManager<TEnum>  
  2. {  
  3.     private static DataTable GetDataTable()  
  4.     {  
  5.        Type enumType = typeof(TEnum); // 获取类型对象  
  6.        FieldInfo[] enumFields = enumType.GetFields();    //获取字段信息对象集合  
  7.        DataTable table = new DataTable();  
  8.        table.Columns.Add("Name", Type.GetType("System.String"));  
  9.        table.Columns.Add("Value", Type.GetType("System.Int32"));  
  10.        //遍历集合  
  11.        foreach (FieldInfo field in enumFields)  
  12.        {  
  13.            if (!field.IsSpecialName)  
  14.            {  
  15.                DataRow row = table.NewRow();  
  16.               row[0] = field.Name;   // 获取字段文本值  
  17.               row[1] = Convert.ToInt32(field.GetRawConstantValue());        // 获取int数值  
  18.               //row[1] = (int)Enum.Parse(enumType, field.Name); 也可以这样  
  19.               table.Rows.Add(row);  
  20.            }  
  21.        }  
  22.        return table;  
  23.     }  
  24.     public static void SetListControl(ListControl list)  
  25.     {  
  26.        list.DataSource = GetDataTable();  
  27.        list.DataTextField = "Name";  
  28.        list.DataValueField = "Value";  
  29.        list.DataBind();  
  30.     }  
  31. }  
  32.   
  33. public enum BookingStatus {  
  34.     未提交 = 1,  
  35.     已提交,  
  36.     已取消,  
  37.     已完成 = 6  
  38. }  
  39. EnumManager<BookingStauts>.SetListControl(ddlBookingStatus);   
  40. EnumManager<TicketStatus>.SetListControl(rblTicketStatus);  

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#FileStreamStreamWrite追加到文本文件末尾发布时间:2022-07-10
下一篇:
C#-Networkcomms发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap