Gewusst wie: Binden des DataGrid-Steuerelements in Windows Forms an eine Datenquelle
Tipp
Obwohl das DataGridView-Steuerelement das DataGrid-Steuerelement ersetzt und funktionell erweitert, wird das DataGrid-Steuerelement sowohl aus Gründen der Abwärtskompatibilität als auch, falls gewünscht, für die zukünftige Verwendung beibehalten. Weitere Informationen finden Sie unter Unterschiede zwischen dem DataGridView-Steuerelement und dem DataGrid-Steuerelement in Windows Forms.
Das DataGrid-Steuerelement in Windows Forms wurde speziell für die Anzeige von Informationen aus einer Datenquelle entwickelt. Zur Laufzeit binden Sie das Steuerelement, indem Sie die SetDataBinding-Methode aufrufen. Daten können aus einer Vielzahl von Datenquellen angezeigt werden. Die gebräuchlichsten sind jedoch Datasets und Datenansichten.
So stellen Sie programmgesteuert eine Datenbindung an ein DataGrid-Steuerelement her
Schreiben Sie Code, um das Dataset aufzufüllen.
Wenn es sich bei der Datenquelle um ein Dataset oder eine auf einer Datasettabelle beruhende Datenansicht handelt, fügen Sie dem Formular Code zum Füllen des Datasets hinzu.
Der genaue Code richtet sich dabei danach, woher das DataSet die Daten bezieht. Wenn ein Dataset direkt aus einer Datenbank gefüllt wird, wird üblicherweise die Fill -Methode eines Datenadapters aufgerufen, wie in folgendem Beispiel, in dem das Dataset DsCategories1 gefüllt wird:
sqlDataAdapter1.Fill(DsCategories1)
sqlDataAdapter1.Fill(DsCategories1);
sqlDataAdapter1->Fill(dsCategories1);
Bei einem Dataset, das aus einem XML-Webdienst gefüllt wird, wird in der Regel eine Instanz des Dienstes im Code erstellt und anschließend eine seiner Methoden aufgerufen, die ein Dataset zurückgibt. Dann führen Sie das Dataset aus dem XML-Webdienst mit dem lokalen Dataset zusammen. Im folgenden Beispiel wird gezeigt, wie Sie eine Instanz des XML-Webdienstes CategoriesService erstellen, die zugehörige GetCategories-Methode aufrufen und das sich daraus ergebende DataSet mit dem lokalen DataSet DsCategories1 zusammenführen:
Dim ws As New MyProject.localhost.CategoriesService() ws.Credentials = System.Net.CredentialCache.DefaultCredentials DsCategories1.Merge(ws.GetCategories())
MyProject.localhost.CategoriesService ws = new MyProject.localhost.CategoriesService(); ws.Credentials = System.Net.CredentialCache.DefaultCredentials; DsCategories1.Merge(ws.GetCategories());
MyProject::localhost::CategoriesService^ ws = new MyProject::localhost::CategoriesService(); ws->Credentials = System::Net::CredentialCache::DefaultCredentials; dsCategories1->Merge(ws->GetCategories());
Rufen Sie die SetDataBinding-Methode des DataGrid-Steuerelements auf, und übergeben Sie dabei die Datenquelle und ein Datenmember. Wenn nicht explizit ein Datenmember übergeben werden muss, übergeben Sie eine leere Zeichenfolge.
Tipp
Beim erstmaligen Binden des Datenblatts können Sie die DataSource-Eigenschaft und die DataMember-Eigenschaft des Steuerelements festlegen. Diese Einstellungen können jedoch nicht mehr zurückgesetzt werden, nachdem sie festgelegt sind. Deshalb ist es empfehlenswert, stattdessen immer die SetDataBinding-Methode zu verwenden.
Im folgenden Beispiel wird gezeigt, wie Sie eine Bindung an die Tabelle Customers im Dataset DsCustomers1 programmgesteuert herstellen:
DataGrid1.SetDataBinding(DsCustomers1, "Customers")
DataGrid1.SetDataBinding(DsCustomers1, "Customers");
dataGrid1->SetDataBinding(dsCustomers1, "Customers");
Wenn sich außer der Tabelle Customers keine weiteren Tabellen im Dataset befinden, können Sie das Datenblatt auch folgendermaßen binden:
DataGrid1.SetDataBinding(DsCustomers1, "")
DataGrid1.SetDataBinding(DsCustomers1, "");
dataGrid1->SetDataBinding(dsCustomers1, "");
(Optional) Weisen Sie dem Raster die gewünschten Tabellen- und Spaltenformate zu. Die Tabelle wird zwar auch ohne Tabellenformate angezeigt, jedoch mit einer minimalen Formatierung und allen vorhandenen Spalten.
Siehe auch
Aufgaben
Gewusst wie: Hinzufügen von Tabellen und Spalten zum DataGrid-Steuerelement in Windows Forms
Referenz
Übersicht über das DataGrid-Steuerelement (Windows Forms)