2011-06-30 3 views
1

J'ai une énumération des valeurs que je veux alimenter en une zone de liste déroulante.Valeurs d'énumération dans une zone de liste déroulante

Enum SortType 
    Id 
    FirstName 
    LastName 
End Enum 

Je souhaite associer à cette énumération des chaînes que je pourrai définir dans la liste déroulante. à la "Id", "Prénom", "Nom de famille".

Comment dois-je procéder?

Pour avancé, je, par la suite, devrait être en mesure d'internationaliser que les chaînes: (« Id », « Nom », « prenom »)

En fait, j'ai une List(Of String) = new List("Id", "First Name", "Last Name") et associer cet index de liste à un ENUM valeur. C'est un peu embarrassant, car quand j'ai besoin d'ajouter ou de supprimer des valeurs enum, je devrais réassocier les index.

+0

Jetez un oeil: http://stackoverflow.com/questions/424366/c-string-enums Il existe plusieurs approches (C#). –

Répondre

2

En C# Je l'habitude d'utiliser ce code:

How to Bind Enum Types to the Dropdown

Je pense que ce code se déroulera:

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. J'ajoute généralement un petit code pour mettre des espaces entre les mots CamelCase. (Prénom -> "Prénom") – StriplingWarrior

+0

J'ai volontairement inclus deux mots enum noms pour voir que le nom de code enum et le nom de présentation GUI pourraient différer. Ne dites rien pour l'internationalisation ... – serhio

Questions connexes