如何將枚舉類型作爲數據源綁定在一個DROPDOWNLIST上,並指定用戶可見枚舉的真實值是名稱

private  void  Page_Load(object  sender,  System.EventArgs  e)  
{  
           ListType();                                      
}  
private  void  ListType()  
{  
drpStatus.Items.Clear();  
drpStatus.DataSource=ListType();  
drpStatus.DataValueField="value";  
drpStatus.DataTextField="text";  
drpStatus.DataBind();  
}  
public  static  IList  ListType()  
{  
           ArrayList  list=new  ArrayList();  
           foreach(int  i  in  Enum.GetValues(typeof(EnumActivityType)))  
           {  
                       ListItem  listitem  =  new  ListItem(Enum.GetName(typeof(EnumActivityType),i),i.ToString());  
                       list.Add(listitem);  
           }  
           return  list;  
}  
public  enum  EnumActivityType  
{  
           Task                        =            344,  
           Fax                        =            345,  
           Phone                        =            346,  
           Email                        =            347,  
           Reminder            =            348,//Letter  
           Appointment            =            349,  
           Expiration            =            350,  
           Inquiry                        =            367  
}  
---------------------------------------------------------------  
 
把枚舉值放進ArrayList  ,樓上正解  
---------------------------------------------------------------  
 
//*************前臺  
<form  id="Form1"  method="post"  runat="server">  
           <asp:DropDownList  id="drpStatus"  style="Z-INDEX:  101;  LEFT:  248px;  POSITION:  absolute;  TOP:  72px"  runat="server"></asp:DropDownList>  
</form>  
//**************後臺  
protected  System.Web.UI.WebControls.DropDownList  drpStatus;              
private  void  Page_Load(object  sender,  System.EventArgs  e)  
{  
           ListType();                                      
}  
private  void  ListType()  
{  
           drpStatus.Items.Clear();  
           drpStatus.DataSource=ListTypeForEnum();  
           drpStatus.DataValueField="value";  
           drpStatus.DataTextField="text";  
           drpStatus.DataBind();  
}  
public  static  IList  ListTypeForEnum()  
{  
           ArrayList  list=new  ArrayList();  
           foreach(int  i  in  Enum.GetValues(typeof(EnumActivityType)))  
           {  
                       ListItem  listitem  =  new  ListItem(Enum.GetName(typeof(EnumActivityType),i),i.ToString());  
                       list.Add(listitem);  
           }  
           return  list;  
}  
public  enum  EnumActivityType  
{  
           Task                        =            344,  
           Fax                        =            345,  
           Phone                        =            346,  
           Email                        =            347,  
           Reminder                              =            348,  
           Appointment            =            349,  
           Expiration            =            350,  
           Inquiry                        =            367  
}  
---------------------------------------------------------------  
 
foreach(string  ddlText  in  Enum.GetNames(typeof(EnumData.UserType)))  
{  
           ListItem  lit  =  new  ListItem();  
           lit.Value  =  ddlValue.ToString();  
           lit.Text  =  ddlText;              
           ddlValue++;  
           ddlType.Items.Add(lit);  
發佈了29 篇原創文章 · 獲贊 0 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章