使用枚举
2006-09-26 14:43
176 查看
枚举是非常有用的类型,我觉得使用枚举关键是做到: 枚举的值如果以后发生变化,务必保证我们只需要改动最少的地方,最好只改动一处。
假设有枚举类型
public enum moneyEnum
{
人民币=1,
美元=2,
港元=3,
欧元=4
}
注意,.net中可以使用中文,这就方便多了
1. 动态邦定到DropDownList上
可以如下做:
public Class1
{
public static DataTable getMoneyUnits()
{
DataTable dt = new DataTable();
dt.Columns.Add("text");
dt.Columns.Add("value");
foreach (moneyEnum item in Enum.GetValues(typeof(moneyEnum)))
{
DataRow dr = dt.NewRow();
dr["text"] = item.ToString();
dr["value"] = (int)item;
dt.Rows.Add(dr);
}
return dt;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Datatable dt =Class1.getMoneyUnits();
DropDownList1.DataTextField = dt.Columns["text"].ToString();
DropDownList1.DataValueField = dt.Columns["value"].ToString();
}
}
2. 动态的显示
数据库表中存储的枚举值只是一个数字,如何动态的显示呢:
TextBox1.Text = ((moneyEnum)int.Parse(dr["fundUnit"].ToString())).ToString() ;
注意到第一个问题中的 dr["value"] = (int)item;
就是说我们可以对枚举值和对应的整数间进行任意的强制转换,以满足我们的需要。
上面的代码在枚举值发生变化时,比如新增了货币单位,都不用改动。
假设有枚举类型
public enum moneyEnum
{
人民币=1,
美元=2,
港元=3,
欧元=4
}
注意,.net中可以使用中文,这就方便多了
1. 动态邦定到DropDownList上
可以如下做:
public Class1
{
public static DataTable getMoneyUnits()
{
DataTable dt = new DataTable();
dt.Columns.Add("text");
dt.Columns.Add("value");
foreach (moneyEnum item in Enum.GetValues(typeof(moneyEnum)))
{
DataRow dr = dt.NewRow();
dr["text"] = item.ToString();
dr["value"] = (int)item;
dt.Rows.Add(dr);
}
return dt;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Datatable dt =Class1.getMoneyUnits();
DropDownList1.DataTextField = dt.Columns["text"].ToString();
DropDownList1.DataValueField = dt.Columns["value"].ToString();
}
}
2. 动态的显示
数据库表中存储的枚举值只是一个数字,如何动态的显示呢:
TextBox1.Text = ((moneyEnum)int.Parse(dr["fundUnit"].ToString())).ToString() ;
注意到第一个问题中的 dr["value"] = (int)item;
就是说我们可以对枚举值和对应的整数间进行任意的强制转换,以满足我们的需要。
上面的代码在枚举值发生变化时,比如新增了货币单位,都不用改动。
相关文章推荐
- java枚举使用详解
- Enum枚举的使用
- 高效Java03:使用私有构造器或枚举类型强化单例属性
- java 基础总结 -- enum 枚举与接口、泛型、集合的使用
- 比较java枚举成员使用equal还是==
- c语言学习之基础知识点介绍(十三):枚举的介绍和使用
- 嵌入式编程中,枚举变量的使用
- 使用枚举单例实现Xml、properties属性配置文件的操作
- 精通Objective-C系列 - 2) 使用结构和枚举
- java枚举使用详解
- IOS枚举使用
- java枚举的使用
- Swift中结合使用枚举与Switch
- iOS 关于枚举的使用
- java枚举的使用
- java枚举的使用
- Code Fragment-使用枚举来代表不同的状态
- 枚举Java 语言中 Enum 类型的使用介绍
- C#枚举中使用Flags特性
- 机房收费系统中-枚举使用