WPF: Daten in einem DataGrid anzeigen
Dieses Beispiel zeigt, wie man Daten aus einer Datenbank in einem DataGrid anzeigt.
Dabei wird eine Tabelle aus einer bestehend lokalen Datenbank per drag und drop in die WPF Anwendung gezogen.
Im ersten Schritt zieht man unter Toos->DataGrid ein DataGrid in die WPF Anwendung
Dann auswählen von Database aus (Database, Service, Objekt)
Dann das Database Model aussuchen.
Im Database Model wird später die Struktur der Datenbank als Dataset angezeigt.
Als Auswahl werden bestehende Data Connections angezeigt. Die lokale Datenbank (service based) wird als Standard vorgeschlagen.
.mdf Dateien sind Sql Server Datenbanken.
Anschliessend wählt man alle Tabellen und Views aus, welche man im Projekt übernehmen will
Data Sources
Danach wird unter Data Sources die Datenbank als DataSet angezeigt mit den einzelnen Tabellen
DataSource: Projekt kompilieren.
Damit die DataSource angezeigt wird und eingebunden werden kann, muss man das Projekt erst kompilieren
Jetzt muss man nur noch aus dem Bereich: DataSources-> die Tabelle in das DataGrid ziehen
Entwurfsansicht
Nach dem Ziehen der Datasource-Tabelle in das Design->Datagrid wird die Struktur der Tabelle zur Entwurfszeit angezeigt
F5 Laufzeit
Beim kompilierten Start mit F5 wird eine lauffähige Datengrid-Tabelle im Formular erstellt, bei welchem die Daten direkt an die Tabelle gebunden sind und mit den Standart-Funktionen eines Grids ausgestattet sind.
Man kann in die untere Zeile neue Dateneingeben, ändern löschen.
Code zum Laden
Den c# Code zum laden des Datengrids findet man unter dem Load-Event des MainWindows
Standard-Code unter MainWindow.xal.cs
Zum Laden der DataSource in das Datengrid beim Laden des Formulars
private void Window_Loaded(object sender, RoutedEventArgs e) {
wpf_demo_Datagrid_Db.dbGridTestDataSet dbGridTestDataSet = ((wpf_demo_Datagrid_Db.dbGridTestDataSet)(this.FindResource("dbGridTestDataSet"))); // Load data into the table tbl_GridTest. You can modify this code as needed. wpf_demo_Datagrid_Db.dbGridTestDataSetTableAdapters.tbl_GridTestTableAdapter dbGridTestDataSettbl_GridTestTableAdapter = new wpf_demo_Datagrid_Db.dbGridTestDataSetTableAdapters.tbl_GridTestTableAdapter(); dbGridTestDataSettbl_GridTestTableAdapter.Fill(dbGridTestDataSet.tbl_GridTest);
System.Windows.Data.CollectionViewSource tbl_GridTestViewSource = ((System.Windows.Data.CollectionViewSource)(this.FindResource("tbl_GridTestViewSource"))); tbl_GridTestViewSource.View.MoveCurrentToFirst(); } |