Lies in den Artikel rein und unten bekommst Du ein unschlagbares Angebot!
Unter Access haben Sie mit wenigen Mausklicks die Daten einer Tabelle in einem Formular angezeigt – Datenherkunft festlegen, Felder aus der Feldliste in das Formular zeihen, fertig war das Formular. Unter WPF ist es erstens etwas aufwendiger, und zweitens gibt es verschiedene Möglichkeiten, dies zu realisieren. In diesem Artikel schauen wir uns die einfachste Methode an, die Daten einer einfachen Tabelle in einem Fenster anzuzeigen, in den Datensätzen zu navigieren und Änderungen zu speichern.
Wie unter Access gibt es auch unter C# einfache und schnelle Wege, ein Ziel zu erreichen – nämlich mit Unterstützung der Entwicklungsumgebung, meist in Form von Assistenten. Wer später Änderungen am Entwurf seiner Benutzeroberfläche vornehmen möchte, sollte jedoch wissen, was der Assistent dort im Einzelnen gezaubert hat.
Deshalb schauen wir uns in diesem Artikel zunächst an, wie Sie die Daten einer Tabelle so schnell wie möglich in einem Fenster anzeigen. Später erfahren Sie dann, was dort alles geschehen ist und wie Sie ein solches Fenster von Hand erstellen und auch anpassen können.
Voraussetzung
Voraussetzung für die Beispiele dieses Artikels ist das Vorhandensein der Beispieldatenbank Suedsturm.mdb, einer Access-Datenbank. Diese sollte im Projektverzeichnis liegen und auch dem Projekt im Projektmappen-Explorer zugewiesen sein, damit dieses beim Debuggen automatisch in den Debug-Ordner kopiert wird und dort für den Zugriff beim Testen zur Verfügung steht. Ist dies nicht der Fall, ziehen Sie die Datenbankdatei Suedsturm.mdb einfach aus dem Windows Explorer auf den Namen des Projekts im Projektmappen-Explorer von Visual Studio.
Da wir im Folgenden auch Änderungen an Datensätzen vornehmen wollen, soll bei jedem neuen Debuggen die Original-Datenbank erneut in das Debug-Verzeichnis kopiert werden. Dazu stellen Sie die Eigenschaft In Ausgabeverzeichnis kopieren des Elements Suedsturm.mdb auf den Wert Immer kopieren ein (siehe Bild 1). So erscheinen gelöschte oder geänderte beim nächsten Debuggen immer wieder im Ausgangszustand.
Bild 1: Die Datenbank soll beim Debuggen jeweils erneut ins Debug-Verzeichnis kopiert werden.
Schnelle Datenanzeige
Die einfachste Disziplin beim Anzeigen von Daten unter Access war ein Formular, das die Daten in der Formularansicht anzeigt. Dazu mussten Sie einfach nur die Tabelle markieren, deren Daten Sie anzeigen wollten, und den entsprechenden Assistenten aufrufen. Im Ergebnis erhielten Sie ein neues Formular mit allen Feldern der Datenherkunft plus einer Navigationsleiste, die fest im Formular verbaut war und die Navigation zwischen den Datensätzen sowie das Anlegen und Löschen erleichterte.
Unter WPF, soviel sei vorab verraten, gibt es keine vorgefertigten Formulare mit Navigationsleisten oder gar einem Datensatzmarkierer wie unter Access. Hier müssen Sie alle Elemente selbst hinzufügen, allerdings hilft die Entwicklungsumgebung bei dem einen oder anderen Schritt.
Datenquelle hinzufügen
Mit dem Menüeintrag Projekt|Neue Datenquelle hinzufügen… öffnen Sie den Dialog Assistent zum Konfigurieren von Datenquellen. Wählen Sie hier im ersten Schritt den Eintrag Datenbank aus (siehe Bild 2).
Bild 2: Der erste Schritt im Assistent zum Konfigurieren von Datenquellen
Im folgenden Schritt haben Sie nur eine sehr eingeschränkte Auswahl (siehe Bild 3). Sie brauchen also nur auf die Schaltfläche Weiter zu klicken.
Bild 3: Auswahl der Art des Datenbankmodells
Im folgenden Dialog wählen Sie dann die Datenverbindung aus. In unserem Fall ist dies einfach: Wir müssen einfach nur die bereits als mögliche Datenquelle erkannte Access-Datenbank namens Suedsturm.mdb zu bestätigen. Mit einem Klick auf das Plus-Zeichen im unteren Bereich können Sie noch die Verbindungszeichenfolge für diese Verbindung anzeigen lassen (siehe Bild 4).
Bild 4: Festlegen der Datenverbindung
Schließlich können Sie noch festlegen, dass die Verbindungszeichenfolge in der Anwendungskonfigurationsdatei gespeichert wird (siehe Bild 5).
Bild 5: Speichern der Datenverbindung
Im folgenden Schritt wird es interessant. Hier analysiert der Assistent die angegebene Datenbank und stellt alle Objekte der Typen Tabelle und Abfrage zur Auswahl. Zu jedem Objekt können Sie die Felder auswählen, die zum DataSet hinzugefügt werden sollen. Überhaupt kommt hier das erste Mal der Begriff DataSet zum Einsatz (siehe Bild 6).
Bild 6: Auswahl der Tabellen/Datenbankobjekte für ein DataSet
Fürs Erste wollen wir nun die drei Felder KategorieID, Kategoriename und Beschreibung der Tabelle tblKategorien zum DataSet hinzufügen. Dieses DataSet wollen wir dann unter dem Namen dsTblKategorien speichern.
Was ist nun geschehen Der Assistent hat nicht nur einen neuen Eintrag zum Bereich Datenquellen hinzugefügt, sondern Sie finden auch im Projektmappen-Explorer ein neues Element. Dieses heißt dsTblKategorien.xsd und wird in Visual Studio grafisch wie in Bild 7 dargestellt. Dort finden Sie oben ein Objekt für die einzige Tabelle des DataSet-Objekts sowie ein weiteres namens tblKategorienTableAdapter, das die beiden Methoden Fill und GetData() anzeigt. Die untergeordneten Objekte enthalten, kurz gesagt, eine Menge automatisch generierten C#-Codes.