DropDownList Enum DataBind Using Enum To Dictionary Convertion

21. July 2009

Bonjour,

Aujourd’hui une méthode afin de convertir les valeurs d’une Enumeration en Dictionary afin de pouvoir DataBind une DropDownList par exemple en ASP.NET.

 

public static IDictionary<TKey, String> EnumToDictionary<TKey>(Type enumType)
{
var dic = new Dictionary<TKey, String>();
Array values = Enum.GetValues(enumType);
for (int i = 0; i < values.Length; i++)
{
var key = (TKey)Enum.Parse(enumType, values.GetValue(i).ToString());
var value = Enum.GetName(enumType,values.GetValue(i));
dic.Add(key, value);
}
return dic;
}

Exemple d’utilisation en ASP.NET

if (!IsPostBack)
{
ddRoles.DataSource = Helpers.EnumToDictionary<Int32>(typeof (Roles));
ddRoles.DataTextField = "Value";
ddRoles.DataValueField = "Key";
ddRoles.DataBind();
}

 

A Bientôt :)


Shout it

C#, ASP.NET ,

Comments

7/21/2009 2:26:48 AM #
Yoann's Dev Blog | DropDownList Enum DataBind Using Enum To Dictionary Convertion

Thank you for submitting this cool story - Trackback from DotNetShoutout
myriam
myriam
2/12/2010 7:41:02 PM #
Hello
Justement je cherchais une solution pour ce type de problème, j'ai bien aimé ta solution, mais je cherchais un moyen d'afficher des libellés plus "conviviaux" dans la liste.
Et je suis tombée sur cette solution vraiment très complète  : (avec méthodes d'extension .NET 3.5).

www.codeproject.com/KB/cs/enumdatabinding.aspx