2011-06-30 119 views
1

我有一個枚舉值,我想爲ComboBox賦值。ComboBox中的枚舉值

Enum SortType 
    Id 
    FirstName 
    LastName 
End Enum 

我想聯想到枚舉一些字符串,我可以在組合框中設置。 「身份證」,「名字」,「姓氏」。

我該如何繼續?

對於高級,我,最終應該能夠國際化的字符串(「ID」,「標稱」,「Prénom」)

其實,我有一個List(Of String) = new List("Id", "First Name", "Last Name")和準該列表索引來枚舉值。這有點令人尷尬,因爲當我需要添加或刪除一些枚舉值時,我應該重新關聯這些索引。

+0

看看:http://stackoverflow.com/questions/424366/c-string-enums有幾種方法(C#)。 –

回答

2

在C#中,我通常使用此代碼:

How to Bind Enum Types to the Dropdown

我覺得這個代碼將運行:

Friend Enum Speed 
    Low = 1 
    Medium = 2 
    High = 3 
End Enum 

Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) 
    DropDownList1.DataSource = System.Enum.GetValues(GetType(Speed)) 
    DropDownList1.DataBind() 


End Sub 
+0

+1。我通常會添加一些代碼來在CamelCase單詞之間放置空格。 (名字 - >「名字」) – StriplingWarrior

+0

我故意包含兩個單詞枚舉名稱,以查看枚舉代碼名稱和GUI演示文稿名稱可能會有所不同。國際化說什麼都不要... – serhio