枚举值使用小结

摘要:
枚举值绑定到下拉框:方法1:绑定enumTestEnum{zero=0,one=1,two=2}ComboBoxcbo=newComboBox();cbo.DataSource=System.Enum。GetNames(typeof(TestEnum));enumtest=枚举。一cbo.SelectedIndex=this.cbo.FindString(test.ToString())

枚举值绑定到下拉框:

方法一:

绑定

enum TestEnum {zero=0,one=1,two=2}       
ComboBox cbo = new ComboBox();
cbo.DataSource = System.Enum.GetNames(typeof(TestEnum));

enum test=enum.one;

cbo.SelectedIndex =this.cbo.FindString(test.ToString());

取值

TestEnum testenum = (TestEnum)Enum.Parse(typeof(TestEnum) ,cbo.SelectedItem.ToString() ,false)

方法二:

foreach (var v intypeof(AA).GetFields())
{
     if (v.FieldType.IsEnum ==true)
     {
          this.comboBox1.Items.Add(v.Name);
      }
}

this.comboBox1.SelectedIndex =1;

方法三:

反射,枚举,绑定下拉框

public static class EnumManager<TEnum>
{
    private static DataTable GetDataTable()
    {
       Type enumType = typeof(TEnum); // 获取类型对象
       FieldInfo[] enumFields = enumType.GetFields();    //获取字段信息对象集合

       DataTable table = new DataTable();
       table.Columns.Add("Name", Type.GetType("System.String"));
       table.Columns.Add("Value", Type.GetType("System.Int32"));
       //遍历集合
       foreach (FieldInfo field in enumFields)
       {
           if (!field.IsSpecialName)
           {
               DataRow row = table.NewRow();
              row[0] = field.Name;   // 获取字段文本值
              row[1] = Convert.ToInt32(field.GetRawConstantValue());        // 获取int数值
              //row[1] = (int)Enum.Parse(enumType, field.Name); 也可以这样

              table.Rows.Add(row);
           }
       }
       return table;
    }

    public static void SetListControl(ListControl list)
    {
       list.DataSource = GetDataTable();
       list.DataTextField = "Name";
       list.DataValueField = "Value";
       list.DataBind();
    }
}


public enum BookingStatus {
    未提交 = 1,
    已提交,
    已取消,
    已完成 = 6
}

EnumManager<BookingStauts>.SetListControl(ddlBookingStatus);
EnumManager<TicketStatus>.SetListControl(rblTicketStatus);

 

免责声明:文章转载自《枚举值使用小结》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇总结:MFC中一个对话框的关闭过程 .第16本:《视觉繁美:信息可视化方法与案例解析》下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

springboot mybatis自定义枚举enum转换

原文链接:https://blog.csdn.net/u014527058/article/details/62883573 一、概述 在利用Spring进行Web后台开发时,经常会遇到枚举类型的绑定问题。一般情况下,如果Spring接收到的参数值为字符串类型,Spring会根据枚举的值与传入的字符串进行对应。假设有如下枚举 清单1:枚举定义 public...

Java Enum 枚举的简单使用

一、什么是枚举 值类型的一种特殊形式,它从 System.Enum 继承,并为基础基元类型的值提供备用名称。枚举类型有名称、基础类型和一组字段。基础类型必须是一个内置的有符号(或无符号)整数类型(如 Byte、Int32 或 UInt64)。字段是静态文本字段,其中的每一个字段都表示常数。所使用的语言给每个字段都分配一个基础类型的特定值。JDK1.5引入了...

c++11 强类型枚举 enum class

在标准C++中,枚举类型不是类型安全的。枚举类型被视为整数,这使得两种不同的枚举类型之间可以进行比较。C++03 唯一提供的安全机制是一个整数或一个枚举型值不能隐式转换到另一个枚举别型。 此外,枚举所使用整数类型及其大小都由实现方法定义,皆无法明确指定。 最后,枚举的名称全数暴露于一般范围中,因此C++03两个不同的枚举,不可以有相同的枚举名。(好比 en...

关于枚举的种种

转载自:http://www.cnblogs.com/allenlooplee/archive/2004/12/19/70230.html Q:在C#里,我们如何表达枚举类型? A:你可以使用enum关键字(keyword)来声明一个枚举类型(enum type): {Left,Center,Right} Q:枚举类型是值类型(value type)...

C#基础(六)--枚举的一些常用操作

本章将介绍以下几点:       1、如何把其它类型转换为枚举类型?    2、如何把枚举中的值添加到下拉菜单中? 一、如何把其它类型转换为枚举类型?        我们回顾一下有关字符串与数字之间的转换,如:        string strValue="12";        int value=int.Parse(strValue);    //使...

C# 获取枚举 Enum 变量值的 Description 属性

在C#中如何读取枚举值的描述属性? 在C#中,有时候我们需要读取枚举值的描述属性,也就是说这个枚举值代表了什么意思。比如本文中枚举值 Chinese ,我们希望知道它代表意思的说明(即“中文”)。 有下面的枚举: 1 2 3 4 5 6 public enum EnumLanugage {     [System.ComponentMode...