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);  
  • 相关阅读:
    update语句中存在''语法书写方式
    CSS的代码风格
    CSS的语法规范
    CSS层叠样式表导读
    CSS简介
    HTML基本标签(下)
    HTML基本标签(上)
    HTML简介导读
    集合及其运用
    字典的镶嵌
  • 原文地址:https://www.cnblogs.com/gisoracle/p/4069085.html
Copyright © 2011-2022 走看看