Windows Forms: Entity Framework Datenbindung, Enums und DataGridViewComboBoxColumn
Hier eine kleine Erweiterung meines EnumHelpers aus meinem Beitrag “Windows Forms: Entity Framework Datenbindung, Enums und ComboBoxen“, da dieser bisher nur mit einzelnen ComboBoxen aber nicht mit ComboBox Spalten in einem DataGridView funktioniert hat:
public static class EnumHelper
{
...
public static void BindToComboBoxColumn(DataGridViewComboBoxColumn comboBoxColumn, string propertyName)
{
if (typeof(E).IsEnum)
{
comboBoxColumn.ValueType = typeof(Int32);
comboBoxColumn.ValueMember = "Value";
comboBoxColumn.DisplayMember = "Display";
comboBoxColumn.DataSource = ((E[])Enum.GetValues(typeof(E)))
.Select(value => new { Display = value.ToString(), Value = (int)(object)value })
.ToList();
}
}
....
}
Die Inspiration stammt aus dem Beitrag von Bradley Smith in einer Diskussion um “How to show Enum type members in a DataGridViewComboBox?“. Ich geben zu, das casten von enum nach object nach int ist nicht gerade die feine Art, aber es erfüllt seinen Zweck ;-)
About this entry
You’re currently reading “Windows Forms: Entity Framework Datenbindung, Enums und DataGridViewComboBoxColumn,” an entry on BeagleOutOfBoundsException
- Published:
- 3.10.11 / 10am
- Category:
- Allgemein
- Tags:
No comments
Jump to comment form | comments rss [?] | trackback uri [?]