Freigeben über


Von Windows Forms unterstützte Datenquellen

Traditionell wurde die Datenbindung in Anwendungen verwendet, um die in Datenbanken gespeicherten Daten zu nutzen. Mit der Windows Forms-Datenbindung können Sie auf Daten aus Datenbanken sowie auf Daten in anderen Strukturen wie Arrays und Sammlungen zugreifen, sofern bestimmte Mindestanforderungen erfüllt sind.

Strukturen, an die eine Bindung erfolgen kann

In Windows Forms können Sie eine Bindung an eine Vielzahl von Strukturen vornehmen, von einfachen Objekten (einfache Bindung) bis hin zu komplexen Listen wie ADO.NET Datentabellen (komplexe Bindung). Für die einfache Datenbindung unterstützt Windows Forms die Bindung an öffentliche Eigenschaften von einfachen Objekten. In der Regel erfordert die listenbasierte Bindung in Windows Forms, dass das Objekt die Schnittstellen IList oder IListSource unterstützt. Wenn Sie die Bindung über eine BindingSource-Komponente herstellen, können Sie außerdem eine Bindung mit einem Objekt herstellen, das die IEnumerable-Schnittstelle unterstützt. Weitere Informationen zu Schnittstellen im Zusammenhang mit der Datenbindung finden Sie unter Schnittstellen im Zusammenhang mit der Datenbindung.

In der folgenden Liste sind die Strukturen aufgeführt, an die Sie in Windows Forms binden können.

BindingSource
Ein BindingSource ist die am häufigsten verwendete Windows Forms-Datenquelle und fungiert als Proxy zwischen einer Datenquelle und Windows Forms-Steuerelementen. Das allgemeine BindingSource-Verwendungsmuster besteht darin, die Steuerelemente an die BindingSource zu binden und die BindingSource an die Datenquelle zu binden (z. B. eine ADO.NET-Datentabelle oder ein Geschäftsobjekt). BindingSource stellt Dienste bereit, die die Datenbindung ermöglichen und deren Unterstützung verbessern. So unterstützen z. B. auf Listen basierende Windows Forms-Steuerelemente wie DataGridView und ComboBox keine direkte Bindung an IEnumerable-Datenquellen. Sie können dieses Szenario jedoch unterstützen, indem Sie die Bindung über BindingSource herstellen. In diesem Fall konvertiert BindingSource die Datenquelle in eine IList.

Einfache Objekte
Windows Forms unterstützt die Datenbindung von Steuerelementeigenschaften an öffentliche Eigenschaften der Instanz eines Objekts unter Verwendung des Binding-Typs. Windows Forms unterstützt außerdem die Bindung von listenbasierten Steuerelementen, z. B. die Bindung von ListControl an eine Objektinstanz, wenn BindingSource verwendet wird.

Array oder Sammlung
Um als Datenquelle zu fungieren, muss eine Liste die IList Schnittstelle implementieren; Ein Beispiel wäre ein Array, das eine Instanz der Array-Klasse ist. Weitere Informationen zu Arrays finden Sie unter Wie man ein Array von Objekten erstellt (Visual Basic).

Im Allgemeinen sollten Sie BindingList<T> verwenden, wenn Sie Listen von Objekten für die Datenbindung erstellen. BindingList<T> ist eine generische Version der IBindingList Schnittstelle. Die IBindingList Schnittstelle erweitert die IList Schnittstelle, indem Eigenschaften, Methoden und Ereignisse hinzugefügt werden, die für die bidirektionale Datenbindung erforderlich sind.

IEnumerable
Windows Forms-Steuerelemente können an Datenquellen gebunden werden, die nur die IEnumerable-Schnittstelle unterstützen, wenn sie über eine BindingSource-Komponente gebunden sind.

ADO.NET Datenobjekte
ADO.NET bietet eine Reihe von Datenstrukturen, die sich zum Binden eignen. Jeder variiert in seiner Raffinesse und Komplexität.

  • DataColumn. Eine DataColumn ist der wesentliche Baustein einer DataTable, in der eine bestimmte Anzahl von Spalten eine Tabelle bildet. Jede DataColumn verfügt über eine DataType-Eigenschaft, die die Art der Daten bestimmt, die in der Spalte enthalten sind (z. B. die Marke eines Automobils in einer Tabelle, die Autos beschreibt). Sie können ein Steuerelement (z. B. die Text-Eigenschaft eines TextBox-Steuerelements) einfach an eine Spalte in einer Datentabelle binden.

  • DataTable. Eine DataTable ist die Darstellung einer Tabelle mit Zeilen und Spalten in ADO.NET. Eine Datentabelle enthält zwei Auflistungen: DataColumn, die die Datenspalten in einer bestimmten Tabelle darstellen (die letztendlich die Arten von Daten bestimmen, die in diese Tabelle eingegeben werden können) und DataRow, die die Datenzeilen in einer bestimmten Tabelle darstellen. Sie können ein Steuerelement komplex an die Informationen binden, die in einer Datentabelle enthalten sind (z. B. das Binden des DataGridView-Steuerelements an eine Datentabelle). Bei der Bindung an eine DataTable handelt es sich jedoch in Wirklichkeit um eine Bindung an die Standardansicht der Tabelle.

  • DataView. Ein DataView ist eine angepasste Ansicht einer einzelnen Datentabelle, die gefiltert oder sortiert werden kann. Eine Datenansicht ist eine „Momentaufnahme“ der Daten, die von komplex gebundenen Steuerelementen verwendet wird. Sie können eine einfache Bindung oder eine komplexe Bindung an die Daten in einer Datenansicht vornehmen. Beachten Sie jedoch, dass die Bindung an ein festes „Bild“ der Daten erfolgt und nicht an eine bereinigte, aktualisierte Datenquelle.

  • DataSet. Ein DataSet ist eine Sammlung von Tabellen, Beziehungen und Einschränkungen der Daten in einer Datenbank. Sie können eine einfache Bindung oder eine komplexe Bindung an die Daten in einem Dataset vornehmen. Beachten Sie jedoch, dass die Bindung an den Standard-DataViewManager für das DataSet erfolgt (siehe nächster Punkt).

  • DataViewManager. Ein DataViewManager ist eine angepasste Ansicht des gesamten DataSet analog zu einer DataView, allerdings mit einbezogenen Beziehungen. Mit einer DataViewSettings-Auflistung können Sie Standardfilter und Sortierungsoptionen für alle Ansichten festlegen, die DataViewManager für eine bestimmte Tabelle bietet.

Siehe auch