Erstellen von Nachschlagetabellen in .NET Framework WPF-Anwendungen
Hinweis
Datasets und verwandte Klassen sind ältere .NET-Technologien aus den frühen 2000er Jahren, die es Anwendungen ermöglichen, mit Daten im Arbeitsspeicher zu arbeiten, während die Anwendungen von der Datenbank getrennt sind. Die Technologien sind besonders nützlich für Anwendungen, die es Benutzern ermöglichen, Daten zu ändern und die Änderungen wieder in der Datenbank zu speichern. Obwohl sich Datasets als sehr erfolgreiche Technologie erwiesen haben, empfehlen wir, dass neue .NET-Anwendungen Entity Framework Core verwenden. Entity Framework bietet eine natürlichere Möglichkeit, mit tabellarischen Daten als Objektmodelle zu arbeiten, und verfügt über eine einfachere Programmierschnittstelle.
Der Begriff Nachschlagetabelle (manchmal auch als Nachschlagebindung bezeichnet) beschreibt ein Steuerelement, das Informationen aus einer Datentabelle basierend auf dem Wert eines Fremdschlüsselfelds in einer anderen Tabelle anzeigt. Sie können eine Nachschlagetabelle erstellen, indem Sie den Hauptknoten einer übergeordneten Tabelle oder eines übergeordneten Objekts im Fenster Datenquellen auf ein Steuerelement ziehen, das bereits an eine Spalte oder Eigenschaft in einer verknüpften untergeordneten Tabelle gebunden ist.
Als Beispiel kann eine Tabelle mit dem Namen Orders
dienen, die Teil einer Verkaufsdatenbank ist und Aufträge enthält. Jeder Datensatz in der Tabelle Orders
enthält eine CustomerID
, die angibt, welcher Kunde den Auftrag erteilt hat. Die CustomerID
ist ein Fremdschlüssel, der auf einen Kundendatensatz in der Tabelle Customers
zeigt. Wenn Sie eine Liste von Bestellungen aus der Orders
-Tabelle anzeigen, können Sie den tatsächlichen Kundennamen anstelle der CustomerID
anzeigen. Da sich der Kundenname in der Customers
-Tabelle befindet, müssen Sie eine Nachschlagetabelle erstellen, um den Kundennamen anzuzeigen. Die Nachschlagetabelle verwendet den CustomerID
-Wert im Orders
-Datensatz, um durch die Beziehung zu navigieren und den Kundennamen zurückzugeben.
So erstellen Sie eine Suchtabelle
Fügen Sie Ihrem Projekt einen der folgenden Datenquellentypen mit zugehörigen Daten hinzu:
Dataset oder Entity Data Model.
WCF Data Service, WCF-Dienst oder Webdienst. Weitere Informationen finden Sie unter How to: Connect to Data in a Service.
Objekte. Weitere Informationen finden Sie unter Binden von Objekten in Visual Studio.
Hinweis
Bevor Sie eine Nachschlagetabelle erstellen können, müssen zwei verwandte Tabellen oder Objekte als Datenquelle für das Projekt vorhanden sein.
Öffnen Sie den WPF-Designer, und stellen Sie sicher, dass der Designer einen Container enthält, bei dem es sich um ein gültiges Ablageziel für Elemente im Fenster Datenquellen handelt.
Weitere Informationen über gültige Ablageziele finden Sie unter Binden von WPF-Steuerelementen an Daten in Visual Studio.
Klicken Sie im Menü Daten auf Datenquellen anzeigen, um das Fenster Datenquellen zu öffnen.
Erweitern Sie im Fenster Datenquellen die Knoten, bis Sie die übergeordnete Tabelle und oder das übergeordnete Objekt sowie die dazugehörige untergeordnete Tabelle oder das dazugehörige untergeordnete Objekt sehen.
Hinweis
Die zugehörige untergeordnete Tabelle oder das zugehörige untergeordnete Objekt ist der Knoten, der als erweiterbarer untergeordneter Knoten unter der übergeordneten Tabelle oder dem übergeordneten Objekt angezeigt wird.
Klicken Sie auf die Dropdownliste für den untergeordneten Knoten, und wählen Sie Details aus.
Erweitern Sie den untergeordneten Knoten.
Klicken Sie unter dem untergeordneten Knoten auf der Dropdownliste für das Element, das die untergeordneten und übergeordneten Daten verknüpft. (Im vorherigen Beispiel ist dies der Knoten CustomerID.) Wählen Sie einen der folgenden Typen von Steuerelementen aus, die die Nachschlagebindung unterstützen:
ComboBox
ListBox
ListView
Hinweis
Wenn das Steuerelement ListBox oder ListView nicht in der Liste angezeigt wird, können Sie diese Steuerelemente der Liste hinzufügen. Informationen finden Sie unter Festlegen des Steuerelements, das beim Ziehen aus dem Fenster „Datenquellen“ erstellt werden soll.
Alle benutzerdefinierten Steuerelemente, die von Selector abgeleitet werden.
Hinweis
Informationen zum Hinzufügen benutzerdefinierter Steuerelemente zur Liste der Steuerelemente, die Sie für Elemente im Fenster Datenquellen auswählen können, finden Sie unter Hinzufügen benutzerdefinierter Steuerelemente zum Datenquellenfenster.
Ziehen Sie den untergeordneten Knoten aus dem Fenster Datenquellen auf einen Container im WPF-Designer. (Im vorherigen Beispiel ist der untergeordnete Knoten der Knoten Aufträge.)
Visual Studio generiert XAML-Code, der neue datengebundene Steuerelemente für jedes Element erstellt, das Sie auf den Designer ziehen. Der XAML-Code fügt den Ressourcen des Ablageziels außerdem eine neue CollectionViewSource für die untergeordnete Tabelle bzw. das untergeordnete Objekt hinzu. Für einige Datenquellen generiert Visual Studio außerdem Code, um Daten in die Tabelle bzw. das Objekt zu laden. Weitere Informationen finden Sie unter Binden von WPF-Steuerelementen an Daten in Visual Studio.
Ziehen Sie den übergeordneten Knoten aus dem Fenster Datenquellen auf das zuvor erstellte Steuerelement für die Nachschlagebindung. (Im vorherigen Beispiel ist der übergeordnete Knoten der Knoten Kunden.)
Visual Studio legt einige Eigenschaften für das Steuerelement fest, um die Nachschlagebindung zu konfigurieren. In der folgenden Tabelle sind die Eigenschaften aufgeführt, die Visual Studio ändert. Bei Bedarf können Sie diese Eigenschaften im XAML-Code oder im Fenster Eigenschaften ändern.
Eigenschaft Erklärung der Einstellung ItemsSource Diese Eigenschaft gibt die Auflistung oder Bindung an, die zum Abrufen der Daten verwendet wird, die im Steuerelement angezeigt werden. Visual Studio legt diese Eigenschaft für die übergeordneten Daten, die Sie in das Steuerelement gezogen haben, auf CollectionViewSource fest. DisplayMemberPath Diese Eigenschaft gibt den Pfad des Datenelements an, das im Steuerelement angezeigt wird. Visual Studio legt diese Eigenschaft auf die erste Spalte oder Eigenschaft in den übergeordneten Daten nach dem Primärschlüssel fest, die über einen Zeichenfolgendatentyp verfügt.
Wenn Sie eine andere Spalte oder Eigenschaft in den übergeordneten Daten anzeigen möchten, ändern Sie diese Eigenschaft in den Pfad einer anderen Eigenschaft.SelectedValue Visual Studio bindet diese Eigenschaft an die Spalte oder Eigenschaft der untergeordneten Daten, die Sie in den Designer gezogen haben. Dies ist der Fremdschlüssel für die übergeordneten Daten. SelectedValuePath Visual Studio legt diese Eigenschaft auf den Pfad der Spalte oder die Eigenschaft der untergeordneten Daten fest, der der Fremdschlüssel zu den übergeordneten Daten ist.