Übersicht über die BindingSource-Komponente
Aktualisiert: November 2007
Die BindingSource-Komponente vereinfacht das Binden von Steuerelementen an eine zugrunde liegende Datenquelle. Die BindingSource-Komponente fungiert sowohl als Kanal als auch als Datenquelle für andere zu bindende Steuerelemente. Sie stellt eine Abstraktion der Datenverbindung des Formulars bereit, während sie Befehle an die zugrunde liegende Datenliste übergibt. Außerdem können Sie ihr Daten direkt hinzufügen, sodass die Komponente selbst als Datenquelle fungiert.
BindingSource-Komponente als Vermittler
Die BindingSource-Komponente fungiert als Datenquelle für einige oder alle Steuerelemente des Formulars. In Visual Studio kann BindingSource mit der DataBindings-Eigenschaft, die über das Eigenschaftenfenster aufgerufen wird, an ein Steuerelement gebunden werden.
Sie können die BindingSource-Komponente sowohl an einfache Datenquellen, wie eine einzelne Eigenschaft eines Objekts oder eine Basisauflistung wie ArrayList, als auch an komplexe Datenquellen, wie eine Datenbanktabelle, binden. Die BindingSource-Komponente fungiert als Vermittler, der Bindung und Währungsverwaltungsdienste bereitstellt. Zur Entwurfs- oder Laufzeit können Sie eine BindingSource-Komponente an eine komplexe Datenquelle binden, indem Sie die DataSource-Eigenschaft und die DataMember-Eigenschaft auf die Datenbank bzw. die Tabelle festlegen. Die folgende Abbildung zeigt, wo die BindingSource-Komponente ihren Platz in der vorhandenen Datenbindungsarchitektur hat.
Hinweis: |
---|
Zur Entwurfszeit erstellen einige Aktionen, wie das Ziehen einer Datenbanktabelle aus einem Datenfenster in ein leeres Formular, die BindingSource-Komponente, binden sie an die zugrunde liegende Datenquelle und fügen ihr datenbewusste Steuerelemente hinzu, und das alles in einer Operation. |
BindingSource-Komponente als Datenquelle
Wenn Sie der BindingSource-Komponente Elemente hinzufügen, ohne zunächst eine zu bindende Liste anzugeben, fungiert die Komponente wie eine Listenstildatenquelle und übernimmt diese hinzugefügten Elemente.
Darüber hinaus können Sie Code schreiben, um eine benutzerdefinierte "AddNew"-Funktion über das AddingNew-Ereignis bereitzustellen, das ausgelöst wird, wenn die AddNew-Methode vor dem zur Liste hinzugefügten Element aufgerufen wird. Weitere Informationen hierzu finden Sie unter Architektur der BindingSource-Komponente.
Navigation
Benutzern, die in den Daten eines Formulars navigieren müssen, ermöglicht die BindingNavigator-Komponente die Datennavigation und -bearbeitung in Koordination mit einer BindingSource-Komponente. Weitere Informationen hierzu finden Sie unter BindingNavigator-Steuerelement (Windows Forms).
Datenbearbeitung
Die BindingSource fungiert als CurrencyManager für alle ihre Bindungen und kann daher Zugriff auf Währungs- und Positionsinformationen hinsichtlich der Datenquelle bereitstellen. Die folgende Tabelle enthält die Member, die die BindingSource-Komponente zum Aufrufen und 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 bzw. legt diese fest. |
List-Eigenschaft |
Ruft die Liste ab, die die Auswertung der DataSource-Auswertung und der DataMember-Auswertung ist. Wenn DataMember nicht festgelegt ist, wird die von DataSource angegebene Liste zurückgegeben. |
Insert-Methode |
Fügt am angegebenen Index ein Element 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 des AddingNew-Ereignisses zurückgibt, wird dieses Element hinzugefügt. Andernfalls wird die Anforderung an die AddNew-Methode der Liste übergeben. Wenn die zugrunde liegende Liste keine IBindingList ist, wird das Element automatisch durch seinen öffentlichen Standardkonstruktor erstellt. |
Sortieren und Filtern
Normalerweise sollten Sie mit einer sortierten oder gefilterten Ansicht der Datenquelle arbeiten. Die folgende Tabelle enthält die Member, die die Datenquelle der BindingSource-Komponente bereitstellt.
Member |
Beschreibung |
---|---|
Sort-Eigenschaft |
Wenn die Datenquelle eine IBindingList ist, wird ein Spaltenname abgerufen oder festgelegt, der zum Sortieren sowie für Informationen zur Sortierreihenfolge verwendet wird. Wenn die Datenquelle eine IBindingListView ist und das erweiterte Sortieren unterstützt, werden mehrere Spaltennamen abgerufen, die zum Sortieren sowie für Informationen über die Sortierreihenfolge verwendet werden. |
Filter-Eigenschaft |
Wenn die Datenquelle eine IBindingListView ist, wird der Ausdruck abgerufen oder festgelegt, der zum Filtern der angezeigten Zeilen verwendet wird. |
Siehe auch
Konzepte
Architektur der BindingSource-Komponente