Exemplarische Vorgehensweise: Anzeigen von Daten in einem DataRepeater-Steuerelement (Visual Studio)
In dieser exemplarischen Vorgehensweise wird ein Szenario für die Anzeige gebundener Daten in einem DataRepeater-Steuerelement vom Anfang bis zum Ende beschrieben.
Vorbereitungsmaßnahme
Für dieses Beispiel wird die Beispieldatenbank Northwind benötigt.
Wenn diese Datenbank auf dem Entwicklungscomputer nicht installiert ist, können Sie sie von der Website Microsoft Download Center herunterladen. Anweisungen dazu finden Sie unter Herunterladen von Beispieldatenbanken.
Übersicht
Der erste Teil dieser exemplarischen Vorgehensweise besteht aus vier Hauptaufgaben:
Erstellen einer Projektmappe
Hinzufügen eines DataRepeater-Steuerelements
Hinzufügen einer Datenquelle
Hinzufügen datengebundener Steuerelemente
Hinweis
Auf Ihrem Computer werden möglicherweise andere Namen oder Speicherorte für die Benutzeroberflächenelemente von Visual Studio angezeigt als die in den folgenden Anweisungen aufgeführten. Diese Elemente sind von der jeweiligen Visual Studio-Version und den verwendeten Einstellungen abhängig. Weitere Informationen finden Sie unter Anpassen der Entwicklungseinstellungen in Visual Studio.
Erstellen einer DataRepeater-Projektmappe
Im ersten Schritt erstellen Sie ein Projekt und eine Projektmappe.
So erstellen Sie eine DataRepeater-Projektmappe
Klicken Sie in Visual Studio im Menü Datei auf Neues Projekt.
Erweitern Sie im Bereich Projekttypen des Dialogfelds Neues Projekt den Eintrag Visual Basic, und klicken Sie dann auf Windows.
Klicken Sie im Bereich Vorlagen auf Windows Forms-Anwendung.
Geben Sie im Feld Name die Zeichenfolge DataRepeaterApp ein.
Klicken Sie auf OK.
Der Windows Forms Designer wird geöffnet.
Wählen Sie im Windows Forms-Designer das Formular aus. Legen Sie im Fenster Eigenschaften für die Size-Eigenschaft den Wert 800, 700 fest.
Hinzufügen eines DataRepeater-Steuerelements
In diesem Schritt fügen Sie dem Formular ein DataRepeater-Steuerelement hinzu.
So fügen Sie ein DataRepeater-Steuerelement hinzu
Klicken Sie im Menü Ansicht auf Toolbox.
Die Toolbox wird geöffnet.
Wählen Sie die Registerkarte Visual Basic PowerPacks aus.
Ziehen Sie ein DataRepeater-Steuerelement auf Form1.
Legen Sie im Eigenschaftenfenster für die Location-Eigenschaft den Wert 0, 25 fest.
Legen Sie für die Size-Eigenschaft den Wert 460, 600 fest.
Hinzufügen einer Datenquelle
In diesem Schritt fügen Sie eine Datenquelle für das DataRepeater-Steuerelement hinzu.
So fügen Sie eine Datenquelle hinzu
Klicken Sie im Menü Daten auf Datenquellen anzeigen.
Klicken Sie im Datenquellenfenster auf Neue Datenquelle hinzufügen.
Wählen Sie auf der Seite Datenquellentyp auswählen die Option Datenbank aus, und klicken Sie auf Weiter.
Führen Sie auf der Seite Wählen Sie Ihre Datenverbindung aus einen der folgenden Schritte aus:
Wenn in der Dropdownliste eine Datenverbindung zur Beispieldatenbank Northwind verfügbar ist, klicken Sie auf diese.
- oder -
Klicken Sie auf Neue Verbindung, um eine neue Datenverbindung zu konfigurieren. Weitere Informationen hierzu finden Sie unter How to: Create Connections to SQL Server Databases.
Sollte für die Datenbank ein Kennwort erforderlich sein, wählen Sie die Option für die Einbeziehung vertraulicher Daten aus, und klicken Sie anschließend auf Weiter.
Hinweis
Klicken Sie in dem ggf. angezeigten Dialogfeld auf Ja, um die Datei im Projekt zu speichern.
Klicken Sie auf der Seite Verbindungszeichenfolge in der Programmkonfigurationsdatei speichern auf Weiter.
Erweitern Sie auf der Seite Datenbankobjekte auswählen den Knoten Tabellen.
Aktivieren Sie die Kontrollkästchen neben den Tabellen Customers und Orders, und klicken Sie dann auf Fertig stellen.
NorthwindDataSet wird dem Projekt hinzugefügt, und die Tabellen Customers und Orders werden im Fenster Datenquellen angezeigt.
Hinzufügen datengebundener Steuerelemente
In diesem Schritt fügen Sie datengebundene Steuerelemente zu DataRepeater hinzu.
So fügen Sie datengebundene Steuerelemente hinzu
Wählen Sie im Fenster Datenquellen den Knoten der obersten Ebene für die Tabelle Customers aus.
Ändern Sie den Ablagetyp der Tabelle in Details, indem Sie in der Dropdownliste des Tabellenknotens auf Details klicken.
Wählen Sie den Knoten der Tabelle Customers aus, und ziehen Sie diesen auf den Elementvorlagenbereich (der obere Bereich) des DataRepeater-Steuerelements.
Dem Formular wird ein BindingNavigator-Steuerelement hinzugefügt, und die Komponenten NorthwindDataSet, CustomersBindingSource, CustomersTableAdapter, TableAdapterManager und CustomersBindingNavigator werden der Komponentenleiste hinzugefügt.
Wählen Sie alle Felder und die zugehörigen Bezeichnungen aus, und positionieren Sie diese entlang der linken Kante des Elementvorlagenbereichs.
Wählen Sie die letzten fünf Felder (Region, Postal Code, Country, Phone und Fax) sowie die zugehörigen Bezeichnungen aus, und verschieben Sie diese an eine Position oberhalb und rechts von den ersten sechs Feldern.
Wählen Sie die Elementvorlage (der obere Bereich des Steuerelements) aus.
Legen Sie im Eigenschaftenfenster für die Size-Eigenschaft den Wert 427, 170 fest.
Sie verfügen nun über eine funktionsfähige Anwendung, die eine wiederholte Liste von Kunden anzeigt. Drücken Sie F5, um die Anwendung auszuführen, die Daten zu ändern und Kundendatensätze hinzuzufügen oder zu löschen.
In dem nächsten, optionalen Schritt erfahren Sie, wie Sie das DataRepeater-Steuerelement anpassen.
Nächste Schritte (optional)
Dieser Teil der exemplarischen Vorgehensweise besteht aus vier optionalen Aufgaben:
Ändern der Darstellung des DataRepeater-Steuerelements
Verhindern, dass Benutzer Datensätze hinzufügen oder löschen
Hinzufügen einer Suchfunktion zum DataRepeater-Steuerelement
Hinzufügen einer Master- und einer Detailtabelle zum DataRepeater-Steuerelement
Ändern der Darstellung des DataRepeater-Steuerelements
In diesem optionalen Schritt ändern Sie zur Entwurfszeit die BackColor des DataRepeater-Steuerelements. Darüber hinaus fügen Sie Code hinzu, um Zeilen in unterschiedlichen Farben anzuzeigen und um die ForeColor-Bedingung einer Bezeichnung zu ändern.
So ändern Sie die Darstellung des Steuerelements
Wählen Sie im Windows Forms-Designer den Hauptbereich (unten) des DataRepeater-Steuerelements aus.
Legen Sie im Eigenschaftenfenster die BackColor-Eigenschaft auf Weiß fest.
Doppelklicken Sie auf DataRepeater, um den Code-Editor zu öffnen.
Klicken Sie im Code-Editor in der Ereignis-Dropdownliste auf DrawItem.
Fügen Sie im DrawItem-Ereignishandler den folgenden Code hinzu, um die BackColor zu wechseln.
' Alternate the back color. If (e.DataRepeaterItem.ItemIndex Mod 2) <> 0 Then ' Apply the secondary back color. e.DataRepeaterItem.BackColor = Color.AliceBlue Else ' Apply the default back color. e.DataRepeaterItem.BackColor = DataRepeater1.BackColor End If
// Alternate the back color. if ((e.DataRepeaterItem.ItemIndex % 2) != 0) // Apply the secondary back color. { e.DataRepeaterItem.BackColor = Color.AliceBlue; } else { // Apply the default back color. e.DataRepeaterItem.BackColor = dataRepeater1.BackColor; }
Fügen Sie im DrawItem-Ereignishandler den folgenden Code hinzu, um die ForeColor einer Bezeichnung in Abhängigkeit einer Bedingung zu ändern.
If e.DataRepeaterItem.Controls(RegionTextBox.Name).Text = "" Then e.DataRepeaterItem.Controls("RegionLabel"). ForeColor = Color.Red Else e.DataRepeaterItem.Controls("RegionLabel"). ForeColor = Color.Black End If
if (e.DataRepeaterItem.Controls[regionTextBox.Name].Text == "") { e.DataRepeaterItem.Controls["regionLabel"].ForeColor = Color.Red; } else { e.DataRepeaterItem.Controls["regionLabel"].ForeColor = Color.Black; }
Drücken Sie die Taste F5, um die Anwendung auszuführen und die Anpassungen anzuzeigen.
Verhindern, dass Benutzer Datensätze hinzufügen oder löschen
In diesem optionalen Schritt fügen Sie Code hinzu, durch den verhindert wird, dass Benutzer Datensätze zum DataRepeater-Steuerelement hinzufügen oder aus diesem entfernen.
So verhindern Sie, dass Benutzer Datensätze hinzufügen und löschen
Doppelklicken Sie im Windows Forms-Designer auf das Formular, um den Code-Editor zu öffnen.
Fügen Sie folgenden Code zum Form_Load-Ereignis hinzu:
DataRepeater1.AllowUserToAddItems = False DataRepeater1.AllowUserToDeleteItems = False BindingNavigatorAddNewItem.Enabled = False CustomersBindingSource.AllowNew = False BindingNavigatorDeleteItem.Enabled = False
dataRepeater1.AllowUserToAddItems = false; dataRepeater1.AllowUserToDeleteItems = false; bindingNavigatorAddNewItem.Enabled = false; customersBindingSource.AllowNew = false; bindingNavigatorDeleteItem.Enabled = false;
Klicken Sie in der Dropdownliste Klassenname auf BindingNavigatorDeleteItem. Klicken Sie in der Dropdownliste Methodenname auf EnabledChanged.
Fügen Sie dem BindingNavigatorDeleteItem_EnabledChanged-Ereignishandler folgenden Code hinzu:
If BindingNavigatorDeleteItem.Enabled = True Then BindingNavigatorDeleteItem.Enabled = False End If
if (bindingNavigatorDeleteItem.Enabled == true) { bindingNavigatorDeleteItem.Enabled = false; }
Hinweis
Dieser Schritt ist erforderlich, da BindingSource die DeleteItem-Schaltfläche bei jeder Änderung des aktuellen Datensatzes aktiviert.
Drücken Sie F5, um die Anwendung auszuführen. Beachten Sie, dass die DeleteItem-Schaltfläche deaktiviert ist und dass Sie mit der ENTF-TASTE keine Elemente löschen können.
Hinzufügen einer Suchfunktion zum DataRepeater-Steuerelement
In diesem optionalen Schritt implementieren Sie die Möglichkeit, nach einem Wert im DataRepeater-Steuerelement zu suchen. Wenn der Suchbegriff gefunden wurde, markiert das Steuerelement das Element, das diesen Wert enthält, und führt zum Anzeigen des Elements einen Bildlauf durch.
So fügen Sie eine Suchfunktion hinzu
Ziehen Sie ein TextBox-Steuerelement aus der Toolbox auf das Formular mit dem DataRepeater-Steuerelement.
Positionieren Sie es unter dem DataRepeater-Steuerelement.
Ändern Sie im Eigenschaftenfenster die Name-Eigenschaft in SearchTextBox.
Ziehen Sie ein Button-Steuerelement aus der Toolbox auf das Formular mit dem DataRepeater-Steuerelement. Positionieren Sie es unter dem DataRepeater-Steuerelement.
Ändern Sie im Eigenschaftenfenster die Name-Eigenschaft in SearchButton. Ändern Sie die Text-Eigenschaft in Search.
Doppelklicken Sie auf das Button-Steuerelement, um den Code-Editor zu öffnen, und fügen Sie dem SearchButton_Click-Ereignishandler den folgenden Code hinzu.
Dim foundIndex As Integer Dim searchString As String searchString = SearchTextBox.Text ' Search for the string in the CustomerID field. foundIndex = CustomersBindingSource.Find("CustomerID", searchString) If foundIndex > -1 Then DataRepeater1.CurrentItemIndex = foundIndex Else MsgBox("Item " & searchString & " not found.") End If
int foundIndex; string searchString; searchString = searchTextBox.Text; // Search for the string in the CustomerID field. foundIndex = customersBindingSource.Find("CustomerID", searchString); if (foundIndex > -1) { dataRepeater1.CurrentItemIndex = foundIndex; } else { MessageBox.Show("Item " + searchString + " not found."); }
Drücken Sie F5, um die Anwendung auszuführen. Geben Sie in SearchTextBox eine Kunden-ID ein, und klicken Sie auf die Schaltfläche Search.
Hinzufügen einer Master- und einer Detailtabelle zum DataRepeater-Steuerelement
In diesem optionalen Schritt fügen Sie ein zweites DataRepeater-Steuerelement hinzu, um verbundene Aufträge für jeden Kunden anzuzeigen.
So fügen Sie eine Master- und eine Detailtabelle hinzu
Ziehen Sie von der Registerkarte Visual Basic PowerPacks in der Toolbox aus ein zweites DataRepeater-Steuerelement auf das Formular.
Legen Sie im Eigenschaftenfenster für die Location-Eigenschaft den Wert465, 25 fest.
Legen Sie für die Size-Eigenschaft den Wert 315, 600 fest.
Erweitern Sie im Fenster Datenquellen den Tabellenknoten Customers, und wählen Sie den Detailknoten für die Tabelle Orders aus.
Ändern Sie den Ablagetyp der Tabelle Orders in Details, indem Sie in der Dropdownliste des Tabellenknotens auf Details klicken.
Ziehen Sie den Tabellenknoten Orders auf den Elementvorlagenbereich (den oberen Bereich) des zweiten DataRepeater-Steuerelements.
Der Komponentenleiste werden eine OrdersBindingSource-Komponente und eine OrdersTableAdapter-Komponente hinzugefügt.
Drücken Sie F5, um die Anwendung auszuführen. Wenn Sie einzelne Kunden in dem ersten DataRepeater-Steuerelement auswählen, werden die Aufträge des jeweiligen Kunden in dem zweiten DataRepeater-Steuerelement angezeigt.
Siehe auch
Aufgaben
Gewusst wie: Anzeigen von gebundenen Daten in einem DataRepeater-Steuerelement (Visual Studio)
Gewusst wie: Ändern des Layouts eines DataRepeater-Steuerelements (Visual Studio)
Gewusst wie: Anzeigen von Elementheadern in einem DataRepeater-Steuerelement (Visual Studio)
Gewusst wie: Suchen von Daten in einem DataRepeater-Steuerelement (Visual Studio)
Gewusst wie: Ändern der Darstellung eines DataRepeater-Steuerelements (Visual Studio)
Gewusst wie: Deaktivieren des Hinzufügens und Löschens von DataRepeater-Elementen (Visual Studio)
Problembehandlung beim DataRepeater-Steuerelement (Visual Studio)
Konzepte
Einführung in das DataRepeater-Steuerelement (Visual Studio)