Datenbindung und Windows FormsData Binding and Windows Forms

In Windows Forms können Sie nicht nur an herkömmliche Datenquellen binden, sondern auch an beinahe alle Strukturen, die Daten enthalten.In Windows Forms, you can bind to not just traditional data sources, but also to almost any structure that contains data. Sie können an ein Array von Werten binden, die Sie zur Laufzeit berechnen, aus einer Datei lesen oder aus den Werten anderer Steuerelemente ableiten.You can bind to an array of values that you calculate at run time, read from a file, or derive from the values of other controls.

Darüber hinaus können Sie jede Eigenschaft eines beliebigen Steuerelements an die Datenquelle binden.In addition, you can bind any property of any control to the data source. Bei der herkömmlichen Datenbindung binden Sie die Anzeigeeigenschaft, z. B. die Text-Eigenschaft eines TextBox-Steuerelements, normalerweise an die Datenquelle.In traditional data binding, you typically bind the display property—for example, the Text property of a TextBox control—to the data source. Mit dem .NET Framework haben Sie auch die Möglichkeit, auch andere Eigenschaften durch Bindung festzulegen.With the .NET Framework, you also have the option of setting other properties through binding as well. Mithilfe der Bindung können Sie folgende Aufgaben ausführen:You might use binding to perform the following tasks:

  • Festlegen der Grafik eines Bildsteuerelements.Setting the graphic of an image control.

  • Festlegen der Hintergrundfarbe für ein oder mehrere Steuerelemente.Setting the background color of one or more controls.

  • Festlegen der Größe von Steuerelementen.Setting the size of controls.

Datenbindung ist grundsätzlich ein automatisches Verfahren zum Festlegen der Laufzeitzugriffseigenschaften eines Steuerelements in einem Formular.Essentially, data binding is an automatic way of setting any run-time accessible property of any control on a form.

Typen der DatenbindungTypes of Data Binding

Windows Forms nutzt zwei Typen der Datenbindung: einfache Bindung und komplexe Bindung.Windows Forms can take advantage of two types of data binding: simple binding and complex binding. Jeder Typ bietet verschiedene Vorteile.Each offers different advantages.

Typ der DatenbindungType of data binding BESCHREIBUNGDescription
Einfache DatenbindungSimple data binding Die Fähigkeit eines Steuerelements zur Bindung an ein einzelnes Datenelement, z. B. ein Wert in einer Spalte in einer Dataset-Tabelle.The ability of a control to bind to a single data element, such as a value in a column in a dataset table. Dies ist der Bindungstyp, der für Steuerelemente, wie z. B. ein TextBox-Steuerelement oder ein Label-Steuerelement typisch ist. Diese Steuerelemente zeigen normalerweise nur einen einzelnen Wert an.This is the type of binding typical for controls such as a TextBox control or Label control, which are controls that typically only displays a single value. Tatsächlich kann jede Eigenschaft eines Steuerelements an ein Feld in einer Datenbank gebunden werden.In fact, any property on a control can be bound to a field in a database. In Visual Studio wird dieses Feature umfassend unterstützt.There is extensive support for this feature in Visual Studio.

Weitere Informationen finden Sie unterFor more information, see:

- - Schnittstellen für die Datenbindung- Interfaces Related to Data Binding
- Gewusst wie: Navigieren in Daten in Windows Forms- How to: Navigate Data in Windows Forms
- Gewusst wie: Erstellen eines einfach gebundenen Steuer Elements in einem Windows Form- How to: Create a Simple-Bound Control on a Windows Form
Komplexe DatenbindungComplex data binding Die Fähigkeit eines Steuerelements zur Bindung an mehr als ein Datenelement, in der Regel mehr als ein Datensatz in einer Datenbank.The ability of a control to bind to more than one data element, typically more than one record in a database. Komplexe Bindung wird auch als listenbasierte Bindung bezeichnet.Complex binding is also called list-based binding. Beispiele für Steuerelemente, die komplexe Bindung unterstützen, sind die Steuerelemente DataGridView, ListBox und ComboBox.Examples of controls that support complex binding are the DataGridView, ListBox, and ComboBox controls. Ein Beispiel für die komplexe Datenbindung finden Sie unter Gewusst wie: Binden eines Windows Forms ComboBox-Steuer Elements oder eines ListBox-Steuer Elements an Daten.For an example of complex data binding, see How to: Bind a Windows Forms ComboBox or ListBox Control to Data.

BindingSource-KomponenteBindingSource Component

Um die Datenbindung zu vereinfachen, ermöglicht Ihnen Windows Forms die Bindung einer Datenquelle an die BindingSource-Komponente und dann das Binden von Steuerelementen an die BindingSource.To simplify data binding, Windows Forms enables you to bind a data source to the BindingSource component and then bind controls to the BindingSource. Sie können die BindingSource in einfachen oder komplexen Bindungsszenarios verwenden.You can use the BindingSource in simple or complex binding scenarios. In beiden Fällen fungiert die BindingSource als Mittler zwischen der Datenquelle und gebundenen Steuerelementen und stellt Änderungsbenachrichtigung, Währungsverwaltung und andere Dienste bereit.In either case, the BindingSource acts as an intermediary between the data source and bound controls providing change notification currency management and other services.

Allgemeine Szenarien, die Datenbindung nutzenCommon Scenarios That Employ Data Binding

Fast jede kommerzielle Anwendung liest Informationen aus Datenquellen der einen oder anderen Art, in der Regel durch Datenbindung.Nearly every commercial application uses information read from data sources of one type or another, usually through data binding. Die folgende Liste zeigt einige der häufigsten Szenarien, die die Datenbindung als Methode zur Darstellung und Bearbeitung von Daten nutzen.The following list shows a few of the most common scenarios that utilize data binding as the method of data presentation and manipulation.

SzenarioScenario BESCHREIBUNGDescription
BerichterstellungReporting Berichte bieten eine flexible Möglichkeit, Ihre Daten in einem gedruckten Dokument anzuzeigen und zusammenzufassen.Reports provide a flexible way for you to display and summarize your data in a printed document. Es ist üblich, einen Bericht zu erstellen, der ausgewählte Inhalte einer Datenquelle auf dem Bildschirm oder auf einem Drucker ausgibt.It is very common to create a report that prints selected contents of a data source either to the screen or to a printer. Allgemeine Berichte enthalten Listen, Rechnungen oder Zusammenfassungen.Common reports include lists, invoices, and summaries. Elemente werden normalerweise in Listenspalten formatiert, wobei Unterelemente unter den einzelnen Listenelementen organisiert werden. Sie sollten aber das Layout auswählen, das Ihren Daten am besten entspricht.Items are usually formatted into columns of lists, with sub-items organized under each list item, but you should choose the layout that best suits the data.
DateneingabeData entry Eine gängige Methode, um große Mengen verknüpfter Daten einzugeben oder Benutzer aufzufordern, Informationen einzugeben, ist ein Dateneingabeformular.A common way to enter large amounts of related data or to prompt users for information is through a data entry form. Benutzer können Informationen eingeben oder mit Textfeldern, Optionsfeldern, Dropdownlisten und Kontrollkästchen eine Auswahl treffen.Users can enter information or select choices using text boxes, option buttons, drop-down lists, and check boxes. Informationen werden dann an eine Datenbank übermittelt und dort gespeichert. Die Struktur der Datenbank basiert auf den eingegebenen Informationen.Information is then submitted and stored in a database, whose structure is based on the information entered.
Master-/DetailbeziehungMaster/detail relationship Eine Master-/Detailanwendung ist ein Format zur Anzeige verknüpfter Daten.A master/detail application is one format for looking at related data. Es gibt zwei Tabellen mit Daten sowie eine sie verknüpfende Beziehung – im klassischen Geschäfsbeispiel eine Tabelle "Kunden" und eine Tabelle "Bestellungen" mit einer Beziehung, durch die Kunden und ihre Bestellungen verknüpft werden.Specifically, there are two tables of data with a relation connecting them—in the classic business example, a "Customers" table and an "Orders" table with a relationship between them linking customers and their respective orders. Weitere Informationen zum Erstellen einer Master/Detail-Anwendung mit zwei Windows Forms DataGridView-Steuerelementen finden Sie unter Gewusst wie: Erstellen eines Master-/Detailformulars mit zwei Windows Forms DataGridView-Steuerelementen .For more information about creating a master/detail application with two Windows Forms DataGridView controls, see How to: Create a Master/Detail Form Using Two Windows Forms DataGridView Controls
NachschlagetabelleLookup Table Ein weiteres gängiges Szenario für die Datenanzeige und -bearbeitung ist die Suchtabelle.Another common data presentation/manipulation scenario is the table lookup. Häufig wird als Teil einer größeren Datenanzeige ein ComboBox-Steuerelement zum Anzeigen und Bearbeiten von Daten verwendet.Often, as part of a larger data display, a ComboBox control is used to display and manipulate data. Wichtig ist, dass sich die Daten, die im ComboBox-Steuerelement angezeigt werden, von den Daten unterscheiden, die in die Datenbank geschrieben werden.The key is that the data displayed in the ComboBox control is different than the data written to the database. Angenommen, Sie haben ein ComboBox-Steuerelement, das die in einem Lebensmittelladen verfügbaren Artikel anzeigt. In diesem Fall würden Sie auch gerne die Bezeichnungen der Produkte (Brot, Milch, Eier) sehen.For example, if you have a ComboBox control displaying the items available from a grocery store, you would probably like to see the names of the products (bread, milk, eggs). Um das Abrufen von Informationen innerhalb der Datenbank und die Datenbanknormalisierung zu vereinfachen, würden Sie die Informationen für die einzelnen Elemente einer bestimmten Bestellung aber wahrscheinlich als Artikelnummern (#501, #603 usw.) speichern.However, to ease information retrieval within the database and for database normalization, you would probably store the information for the specific items of a given order as item numbers (#501, #603, and so on). Dadurch besteht eine implizite Verbindung zwischen dem "Anzeigenamen" des Lebensmittels im ComboBox-Steuerelement des Formulars und der verknüpften Artikelnummer in einer Bestellung.Thus, there is an implicit connection between the "friendly name" of the grocery item in the ComboBox control on your form and the related item number that is present in an order. Dies ist der zentrale Aspekt der Tabellensuche.This is the essence of a table lookup. Weitere Informationen finden Sie unter Gewusst wie: Erstellen einer Such Tabelle mit der Windows Forms BindingSource-Komponente.For more information, see How to: Create a Lookup Table with the Windows Forms BindingSource Component.

Weitere InformationenSee also