2008-01-24

Databinding und LINQ to DataSet

DataSet-Objekte werden in den meisten Fällen für die Databinding (Datenbindung) verwendet. Als Datencontainer-Objekt eingesetzte DataSet-Objekte beinhalten die Daten, die mithilfe der Datenbindung innerhalb der Benutzeroberfläche dargestellt werden können. Für die Darstellung dieser Daten ohne Datenbindung-Unterstützung können Entwickler diese Daten aus dem DataSet lesen und in einzelne User Controls weitergeben. Dabei müssen sie sicherstellen, wenn die Daten im Datencontainer-Objekt verändert sind, dass die Inhalte der User Controls aktualisiert werden. Wenn die Inhalte von User Controls verändert sind, müssen die Daten wieder in das Datencontainer-Objekt weitergegeben werden.

Mit Datenbindung können die User Controls mit Datencontainer (zum Beispiel: mit einem DataSet-Objekt) verknüpft und die dargestellten Daten automatisch aktualisiert werden, wenn die Daten im Datencontainer Objekt geändert werden. Auch der Retourweg, wenn die Daten im User Control geändert werden, werden die Daten im Datencontainer-Objekt automatisch aktualisiert.

Für die Datenbindung-Unterstützung bietet LINQ to DataSet die Methoden CopyToDataTable und AsDataView an. Die Methode CopyToDataTable bietet nur Einweg Datenbindung und mit der AsDataView-Methode können Zweiweg Datenbindung realisiert werden. Beim Einweg Datenbindung werden die Daten aus dem Datencontainer-Objekt gelesen und die Daten werden im User Control aktualisiert. Die Zweiweg Variante bietet die Möglichkeit, die Daten im User Control und Datencontainer synchron zu halten.

1 comment:

The Twins said...

Ich wollte einfach Ihnen danken für Ihr schönes Buch.

Ich habe festgestellt das man die EntitySet nicht die InotifyChanged-Eigenschaft enthalten und ich finde es echt nicht gut.
Vor allem gibts es kaum ein Tutorial, der erklärt wie man die Wpf-forms mit linq to sql binden kann. Ich möchte gern eine Meinung darüber von Ihnen wissen.
Danke im Voraus