Übersicht über die BindingSource-Komponente

Die BindingSource-Komponente vereinfacht den Bindungsvorgang von Steuerelementen an eine zugrunde liegende Datenquelle. Die BindingSource-Komponente fungiert als Kanal sowie als Datenquelle für andere Steuerelemente, an die eine Bindung erfolgen soll. Sie stellt eine Abstraktion der Datenverbindung Ihres Formulars bereit, während Befehle an die zugrunde liegende Liste der Daten übergeben werden. Außerdem können Sie Daten direkt hinzufügen. Die Komponente selbst fungiert daher als Datenquelle.

„BindingSource“-Komponente als Zwischenelement

Die BindingSource-Komponente fungiert als Datenquelle für einige oder alle Steuerelemente im Formular. In Visual Studio kann die BindingSource mithilfe der Eigenschaft DataBindings an ein Steuerelement gebunden werden, auf die über das Eigenschaftenfenster zugegriffen werden kann. Siehe auch Vorgehensweise: Binden von Windows Forms-Steuerelementen an die BindingSource-Komponente mithilfe des Designers.

Sie können die BindingSource-Komponente an einfache Datenquellen (etwa eine einzelne Eigenschaft eines Objekts oder eine Basisauflistung wie ArrayList) und komplexe Datenquellen (etwa eine Datenbanktabelle) binden. Die BindingSource-Komponente fungiert als Zwischenelement, das Bindungs- und Währungsverwaltungsdienste bereitstellt. Sie können eine BindingSource-Komponente zur Entwurfszeit oder zur Laufzeit an eine komplexe Datenquelle durch Festlegen der Eigenschaften DataSource und DataMember an die Datenbank bzw. die Tabelle binden. Die folgende Abbildung zeigt, wie sich die BindingSource-Komponente in die vorhandene Datenbindungsarchitektur einfügt.

Binding Source and Data Binding Architecture

Hinweis

Zur Entwurfszeit erstellen einige Aktionen (z. B. das Ziehen einer Datenbanktabelle aus einem Datenfenster in ein leeres Formular) die BindingSource-Komponente, binden diese an die zugrunde liegenden Datenquelle und fügen datenkompatible Steuerelemente in einem Vorgang hinzu. Siehe auch Binden von Windows Forms-Steuerelementen an Daten in Visual Studio.

BindingSource-Komponente als Datenquelle

Wenn Sie damit beginnen, der BindingSource-Komponente Elemente hinzuzufügen, ohne zunächst eine Liste anzugeben, an die die Bindung erfolgen soll, agiert die Komponente wie eine Listendatenquelle und akzeptiert diese hinzugefügten Elemente.

Außerdem können Sie Code schreiben, um benutzerdefinierte "AddNew"-Funktionalität mithilfe des Ereignisses AddingNew bereitzustellen, das ausgelöst wird, wenn die Methode AddNew aufgerufen wird, bevor das Element der Liste hinzugefügt wird. Weitere Informationen finden Sie unter Architektur der BindingSource-Komponente.

Für Benutzer, die in den Daten eines Formulars navigieren müssen, ermöglicht die BindingNavigator-Komponente das Navigieren und Bearbeiten von Daten in Kombination mit einer BindingSource-Komponente. Weitere Informationen finden Sie unter BindingNavigator-Steuerelement.

Datenbearbeitung

Die BindingSource fungiert als ein CurrencyManager für alle Bindungen und kann daher Zugriff auf Währungs- und Positionsinformationen hinsichtlich der Datenquelle bereitstellen. Die folgende Tabelle enthält die Elemente, die die BindingSource-Komponente für den Zugriff auf die und das Bearbeiten der zugrunde liegenden Daten bereitstellt.

Member Beschreibung
Current-Eigenschaft Ruft das aktuelle Element der Datenquelle ab.
Position-Eigenschaft Ruft die aktuelle Position in der zugrunde liegenden Liste ab oder legt diese fest.
List-Eigenschaft Ruft die Liste ab, die die Auswertung der Auswertung DataSource und DataMember darstellt. Wenn DataMember nicht festgelegt ist, wird die durch DataSource angegebene Liste zurückgegeben.
Insert-Methode Fügt ein Element am angegebenen Index in die Liste ein.
RemoveCurrent-Methode Entfernt das aktuelle Element aus der Liste.
EndEdit-Methode Wendet anstehende Änderungen auf die zugrunde liegende Datenquelle an.
CancelEdit-Methode Bricht den aktuellen Bearbeitungsvorgang ab.
AddNew-Methode Fügt der zugrunde liegenden Liste ein neues Element hinzu. Wenn die Datenquelle IBindingList implementiert und ein Element aus dem AddingNew-Ereignis zurückgibt, wird dieses Element hinzugefügt. Andernfalls wird die Anforderung an die Methode AddNew der Liste übergeben. Wenn die zugrunde liegende Liste keine IBindingList ist, wird das Element automatisch über seinen öffentlichen Konstruktor ohne Parameter erstellt.

Sortieren und Filtern

In der Regel sollten Sie mit einer sortierten oder gefilterten Sicht der Datenquelle arbeiten. Die folgende Tabelle zeigt die Elemente, die die BindingSource-Komponentendatenquelle bereitstellt.

Member Beschreibung
Sort-Eigenschaft Wenn die Datenquelle eine IBindingList ist, wird ein Spaltenname abgerufen oder festgelegt, der für das Sortieren und für Informationen zur Sortierreihenfolge verwendet wird. Wenn die Datenquelle eine IBindingListView ist und erweiterte Sortierung unterstützt, werden mehrere Spaltennamen abgerufen, die für das Sortieren und für Informationen zur Sortierreihenfolge verwendet werden.
Filter-Eigenschaft Wenn die Datenquelle eine IBindingListView ist, wird der Ausdruck abgerufen, der zum Filtern der anzuzeigenden Zeilen verwendet wird, oder dieser Ausdruck wird festgelegt.

Siehe auch