Windows Forms: Entity Framework Datenbindung, Enums und ComboBoxen
Wer den Support von Enums im Entity Framework auch vermisst, oder aber einfach nur in der Datenbank mit Integerwerten arbeiten möchte oder vielleicht sogar muss, weil das Datenbankdesign nicht geändert werden kann, der hat zwei Möglichkeiten für eine funktionierende Datenbindung:
Entweder werden die Entitäten in den partiellen Klassen um die Enum Eigenschaften erweitert. Dieser Ansatz bringt allerdings auch einige Fallstricke mit sich. Eine gute Umsetzung und genauere Erläuterungen findet ihr bei Davy Landman.
Eine andere Möglichkeit ist die Verwendung des “Parse” und des “Format” Events der Datenbindung. Da ich einige ComboBoxen habe und die Events nicht jedesmal komplett neu registrieren möchte, hab ich mir ne kleine Helperklasse geschrieben:
public static class EnumHelper
{
public static void BindToComboBox(ComboBox comboBox, string propertyName)
{
if (typeof(E).IsEnum)
{
comboBox.DataBindings[propertyName].Format += (sender, e) => { e.Value = (E)e.Value; };
comboBox.DataBindings[propertyName].Parse += (sender, e) => { e.Value = (int)e.Value; };
comboBox.DataSource = Enum.GetValues(typeof(E));
}
}
}
About this entry
You’re currently reading “Windows Forms: Entity Framework Datenbindung, Enums und ComboBoxen,” an entry on BeagleOutOfBoundsException
- Published:
- 2.17.11 / 11am
- Category:
- .NET
- Tags:
No comments
Jump to comment form | comments rss [?] | trackback uri [?]