zoukankan      html  css  js  c++  java
  • C# 枚举绑定到ComboBox

    来自: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);  
  • 相关阅读:
    gerrit 在git review的时候碰上miss unkown + hash值
    centos7 rc.local脚本执行不成功
    python脚本之日期格式显示
    redis集群本地搭建
    php安装与注意事项
    nginx理解--如何处理一个请求
    数据同步 rsync+notify架构
    gitlab+gerrit+jenkins代码托管、审核、持续集成架构搭建
    RHEL6关于Header V3 DSA signature: NOKEY, key ID错误解决方法
    python脚本之traceroute生成路由跟踪图片
  • 原文地址:https://www.cnblogs.com/gisoracle/p/4069085.html
Copyright © 2011-2022 走看看