Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Hinweis
Die DataSet Klassen und verwandten Klassen sind ältere .NET Framework-Technologien aus den frühen 2000er Jahren, mit denen Anwendungen mit Daten im Arbeitsspeicher arbeiten können, während die Apps von der Datenbank getrennt sind. Die Technologien sind besonders nützlich für Apps, mit denen Benutzer Daten ändern und die Änderungen wieder in der Datenbank speichern können. Obwohl Datasets eine bewährte erfolgreiche Technologie sind, ist der empfohlene Ansatz für neue .NET-Anwendungen die Verwendung von Entity Framework Core. Entity Framework bietet eine natürlichere Möglichkeit zum Arbeiten mit tabellarischen Daten als Objektmodelle und verfügt über eine einfachere Programmierschnittstelle.
Wenn Sie Daten in Windows Forms anzeigen, können Sie vorhandene Steuerelemente aus der Toolbox auswählen oder benutzerdefinierte Steuerelemente erstellen, wenn Ihre Anwendung Funktionen erfordert, die in den Standardsteuerelementen nicht verfügbar sind. In dieser exemplarischen Vorgehensweise wird gezeigt, wie Sie ein Steuerelement erstellen, das die LookupBindingPropertiesAttributeDatei implementiert. Steuerelemente, die das Interface LookupBindingPropertiesAttribute implementieren, können drei Eigenschaften enthalten, die an Daten gebunden werden können. Solche Steuerelemente ähneln einem ComboBox.
Weitere Informationen zur Steuerelementerstellung finden Sie unter Entwickeln von Windows Forms-Steuerelementen während der Entwurfszeit.
Beim Erstellen von Steuerelementen für die Verwendung in Datenbindungsszenarien müssen Sie eines der folgenden Datenbindungsattribute implementieren:
| Datenbindungsattributverwendung |
|---|
| Implementieren Sie das DefaultBindingPropertyAttribute auf einfachen Steuerelementen, wie z. B. einem TextBox, die eine einzelne Spalte (oder Eigenschaft) von Daten anzeigen. Weitere Informationen finden Sie unter Erstellen eines Windows Forms-Benutzersteuerelements, das einfache Datenbindung unterstützt. |
| Implementieren Sie das ComplexBindingPropertiesAttribute auf Steuerelementen, wie einem DataGridView, das Listen (oder Tabellen) von Daten anzeigt. Weitere Informationen finden Sie unter Erstellen eines Windows Forms-Benutzersteuerelements, das komplexe Datenbindung unterstützt. |
| Implementieren Sie das LookupBindingPropertiesAttribute auf Steuerelementen wie einem ComboBox, die Listen (oder Tabellen) von Daten anzeigen, aber auch eine einzelne Spalte oder Eigenschaft darstellen müssen. (Dieser Prozess wird in dieser Anleitungsseite beschrieben.) |
In dieser exemplarischen Vorgehensweise wird ein Nachschlagesteuerelement erstellt, das an Daten aus zwei Tabellen gebunden ist. In diesem Beispiel werden die Tabellen Customers und Orders aus der Northwind-Beispieldatenbank verwendet. Die Nachschlagekontrolle ist an das CustomerID-Feld aus der Orders-Tabelle gebunden. Es verwendet diesen Wert, um das CompanyName aus der Customers Tabelle nachzuschlagen.
In dieser Anleitung erfahren Sie, wie Sie:
Erstellen Sie eine neue Windows Forms-App (.NET Framework).
Fügen Sie Ihrem Projekt ein neues Benutzersteuerelement hinzu.
Entwerfen Sie das Benutzersteuerelement visuell.
Implementieren Sie das
LookupBindingPropertyAttribut.Erstellen Sie ein Dataset mit dem Assistenten für die Datenquellenkonfiguration .
Legen Sie die Spalte "CustomerID " in der Tabelle "Bestellungen " im Fenster "Datenquellen " fest, um das neue Steuerelement zu verwenden.
Erstellen Sie ein Formular zum Anzeigen von Daten im neuen Steuerelement.
Voraussetzungen
Um dieses Lernprogramm abzuschließen, benötigen Sie die in Visual Studio installierten Workloads für .NET-Desktopentwicklung und Datenspeicherung und -verarbeitung. Um sie zu installieren, öffnen Sie Visual Studio Installer, und wählen Sie Ändern (oder Mehr>Ändern) neben der Version von Visual Studio aus, die Sie ändern möchten. Weitere Informationen finden Sie im Artikel Ändern von Visual Studio durch Hinzufügen oder Entfernen von Arbeitsauslastungen und Komponenten.
In dieser exemplarischen Vorgehensweise wird SQL Server Express LocalDB und die Northwind-Beispieldatenbank verwendet.
Wenn Sie nicht über SQL Server Express LocalDB verfügen, installieren Sie sie entweder über die SQL Server Express-Downloadseite oder über das Visual Studio-Installationsprogramm. Im Visual Studio Installerkönnen Sie SQL Server Express LocalDB als Teil der Datenspeicher und Verarbeitung Workload oder als einzelne Komponente installieren.
Installieren Sie die Northwind-Beispieldatenbank, indem Sie die folgenden Schritte ausführen:
Öffnen Sie in Visual Studio das fenster SQL Server-Objekt-Explorer. (SQL Server-Objekt-Explorer wird als Teil der Datenspeicherungs- und Verarbeitungsauslastung im Visual Studio Installer installiert.) Erweitern Sie den SQL Server-Knoten . Klicken Sie mit der rechten Maustaste auf Ihre LocalDB-Instanz, und wählen Sie neue Abfrageaus.
Ein Abfrage-Editor-Fenster wird geöffnet.
Kopieren Sie das Northwind-Transact-SQL Skript in die Zwischenablage. Dieses T-SQL-Skript erstellt die Northwind-Datenbank von Grund auf neu und füllt sie mit Daten auf.
Fügen Sie das T-SQL-Skript in den Abfrage-Editor ein, und wählen Sie dann die Schaltfläche Ausführen aus.
Nach kurzer Zeit wird die Ausführung der Abfrage abgeschlossen, und die Northwind-Datenbank wird erstellt.
Erstellen eines Windows Forms-App-Projekts
Der erste Schritt besteht darin, ein Windows Forms App (.NET Framework) -Projekt zu erstellen.
Wählen Sie in Visual Studio im Menü "Datei" die Option "Neues Projekt"> aus.
Erweitern Sie entweder Visual C# oder Visual Basic im linken Bereich, und wählen Sie dann Windows Desktop aus.
Wählen Sie im mittleren Bereich den Projekttyp "Windows Forms-App " aus.
Benennen Sie das Projekt "LookupControlWalkthrough", und wählen Sie dann "OK" aus.
Das LookupControlWalkthrough-Projekt wurde erstellt und dem Projektmappen-Explorer hinzugefügt.
Hinzufügen eines Benutzersteuerelements zum Projekt
In dieser exemplarischen Vorgehensweise wird aus einem Benutzersteuerelement ein Nachschlagesteuerelement erstellt. Fügen Sie dem Projekt LookupControlWalkthrough zunächst also ein Benutzersteuerelement hinzu.
Wählen Sie im Menü "Projekt " die Option "Benutzersteuerelement hinzufügen" aus.
Geben Sie
LookupBoxim Namensbereich ein, und wählen Sie dann Hinzufügen aus.Das LookupBox-Steuerelement wird dem Projektmappen-Explorer hinzugefügt und im Designer geöffnet.
Entwerfen des LookupBox-Steuerelements
Um das LookupBox-Steuerelement zu entwerfen, ziehen Sie eine ComboBox aus der Toolbox auf die Entwurfsoberfläche des Benutzersteuerelements.
Hinzufügen des erforderlichen Datenbindungsattributs
Implementieren Sie für Nachschlagesteuerelemente, die Datenbindung unterstützen, das LookupBindingPropertiesAttribute.
Wechseln Sie das LookupBox-Steuerelement in die Codeansicht. (Wählen Sie im Menü "Ansicht " die Option "Code" aus.)
Ersetzen Sie den Code in
LookupBoxdurch Folgendes:using System.Windows.Forms; namespace CS { [System.ComponentModel.LookupBindingProperties("DataSource", "DisplayMember", "ValueMember", "LookupMember")] public partial class LookupBox : UserControl { public object DataSource { get{ return comboBox1.DataSource; } set{ comboBox1.DataSource = value; } } public string DisplayMember { get{ return comboBox1.DisplayMember; } set{ comboBox1.DisplayMember = value; } } public string ValueMember { get{ return comboBox1.ValueMember; } set{ comboBox1.ValueMember = value; } } public string LookupMember { get{ return comboBox1.SelectedValue.ToString(); } set{ comboBox1.SelectedValue = value; } } public LookupBox() { InitializeComponent(); } } }Wählen Sie im Menü Erstellen die Option Lösung erstellen aus.
Erstellen Sie eine Datenquelle aus Ihrer Datenbank
In diesem Schritt wird eine Datenquelle mithilfe des Assistenten für die Datenquellenkonfiguration erstellt, basierend auf den Tabellen Customers und Orders in der Northwind-Beispieldatenbank.
Klicken Sie zum Öffnen des Datenquellenfensters im Menü "Daten " auf " Datenquellen anzeigen".
Wählen Sie im Fenster "Datenquellen " die Option "Neue Datenquelle hinzufügen " aus, um den Assistenten für die Datenquellenkonfiguration zu starten.
Wählen Sie auf der Seite Datenquellentyp auswählen die Option Datenbank und dann Weiter aus.
Führen Sie auf der Seite " Datenverbindung auswählen " eine der folgenden Aktionen aus:
Wenn eine Datenverbindung mit der Northwind-Beispieldatenbank in der Dropdownliste verfügbar ist, wählen Sie sie aus.
Wählen Sie "Neue Verbindung" aus, um das Dialogfeld "Verbindung hinzufügen/ändern " zu starten.
Wenn Ihre Datenbank ein Kennwort erfordert, wählen Sie die Option aus, vertrauliche Daten einzuschließen, und wählen Sie dann "Weiter" aus.
Klicken Sie auf der Seite "Verbindungszeichenfolge für die Anwendungs-Konfigurationsdatei speichern" auf "Weiter".
Erweitern Sie auf der Seite "Datenbankobjekte auswählen " den Knoten "Tabellen ".
Wählen Sie die
CustomersundOrdersTabellen aus und klicken Sie auf Abschließen.Das NorthwindDataSet wird Ihrem Projekt hinzugefügt, und die Tabellen
CustomersundOrderserscheinen im Fenster Datenquellen.
Festlegen der Spalte "CustomerID" der Tabelle "Bestellungen" für die Verwendung des LookupBox-Steuerelements
Im Fenster "Datenquellen " können Sie festlegen, dass das Steuerelement erstellt wird, bevor Sie Elemente auf Ihr Formular ziehen.
Öffnen Sie Form1 im Designer.
Erweitern Sie den Knoten "Kunden " im Fenster "Datenquellen ".
Erweitern Sie den Knoten "Bestellungen" (der im Knoten "Kunden" unterhalb der Spalte "Fax" ist).
Klicken Sie auf den Dropdownlistenpfeil im Knoten "Bestellungen ", und wählen Sie " Details " aus der Steuerelementliste aus.
Klicken Sie auf den Dropdownlistenpfeil in der Spalte "CustomerID " (im Knoten "Bestellungen "), und wählen Sie "Anpassen" aus.
Wählen Sie im Dialogfeld Data UI Customization Options (Optionen für die Anpassung der Datenbenutzeroberfläche) in der Liste Zugeordnete Steuerelemente den Eintrag LookupBox aus.
Klicke auf OK.
Klicken Sie auf den Dropdownlistenpfeil in der Spalte "CustomerID ", und wählen Sie "LookupBox" aus.
Hinzufügen von Steuerelementen zu dem Formular
Sie können die datengebundenen Steuerelemente erstellen, indem Sie Elemente aus dem Datenquellenfenster auf Form1 ziehen.
Um datengebundene Steuerelemente im Windows Form zu erstellen, ziehen Sie den Knoten "Bestellungen" aus dem Fenster "Datenquellen " in das Windows Form-Fenster, und stellen Sie sicher, dass das LookupBox-Steuerelement verwendet wird, um die Daten in der CustomerID Spalte anzuzeigen.
Binden Sie das Steuerelement, um den Firmennamen aus der Tabelle "Kunden" nachzuschlagen.
Um die Nachschlagebindungen einzurichten, wählen Sie den Hauptknoten "Kunden " im Fenster " Datenquellen " aus, und ziehen Sie ihn in das Kombinationsfeld im CustomerIDLookupBox-Objekt auf Formular1.
Dadurch wird die Datenbindung so eingerichtet, dass CompanyName aus der Tabelle Customers angezeigt wird, während der Wert CustomerID aus der Tabelle Orders beibehalten wird.
Ausführen der Anwendung
Drücken Sie F5 , um die Anwendung auszuführen.
Navigieren Sie durch einige Datensätze, und vergewissern Sie sich, dass
CompanyNameim SteuerelementLookupBoxangezeigt wird.