Na enig puzzelen ben ik de volgende code gaan gebruiken.
Als enum de maanden van het jaar
public enum Maanden
{
januari,
februari,
maart,
april,
mei,
juni,
juli,
augustus,
september,
oktober,
november,
december
}
Het vullen van de DropDownList (ddl)
private void FillCombo()
{
Hashtable ht = GetEnumForBind(typeof(Utilities.Maanden));
ddl.DataSource = ht;
ddl.DataTextField = "value";
ddl.DataValueField = "key";
ddl.DataBind();
ddl.SelectedIndex = 0;
}
/// < summary >
/// Get the enumration
/// summary >
/// < param name="enumeration" >TypeOf( maanden )< /param >
/// a hashtable
private Hashtable GetEnumForBind(Type enumeration)
{
string[] names = Enum.GetNames(enumeration);
Array values = Enum.GetValues(enumeration);
Hashtable ht = new Hashtable();
for (int i = 0; i < names.Length; i++)
{
ht.Add(Convert.ToInt32(values.GetValue(i)).ToString(), names[i]);
}
return ht;
}
Even simpel als het is.
Bedenk wel dat er in een enumeration geen spatie mogen woden gebruikt.
Dus items zo als "alle werkdagen" is niet toegestaan.
Om iemand te citeren ;-)
Happy coding