Na een lange tijd van afwezigheid, je kent het wel geen zin en geen tijd maar ook er geen tijd voor vrij willen maken.
Eigenlijk vind ik het toch belangrijk dat meer mede programmeurs of hoe ze zichzelf ook noemen. Kunnen genieten van de code die al is bedacht. Zodat het wiel niet opnieuw wordt uitgevonden, hooguit verbeterd.
Dus ik ga zo nu en dan weer schrijven en ik verwacht dan ook weer commentaar terug.
Het moet wel bi-directioneel zijn!!
Hans
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