Vorgehensweise: Binden des DataGrid-Steuerelements in Windows Forms an eine Datenquelle
Hinweis
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 Windows Forms-Steuerelement DataGrid wurde speziell dafür konzipiert, Informationen aus einer Datenquelle anzuzeigen. Sie binden das Steuerelement zur Laufzeit, indem Sie die SetDataBinding-Methode aufrufen. Sie können Daten aus einer Vielzahl von Datenquellen anzeigen, am häufigsten sind Datasets und Datensichten als Quellen.
So binden Sie Daten programmgesteuert an das DataGrid-Steuerelement
Schreiben Sie Code, um das Dataset zu füllen.
Wenn es sich bei der Datenquelle um ein Dataset oder eine Datensicht handelt, die auf einer Datasettabelle basiert, fügen Sie dem Formular Code hinzu, um das Dataset zu füllen.
Der genaue Code hängt davon ab, woher das Dataset seine Daten erhält. Wenn das Dataset direkt aus einer Datenbank gefüllt wird, rufen Sie wie im folgenden Beispiel, in dem ein Dataset namens
DsCategories1
gefüllt wird, in der Regel dieFill
-Methode eines Datenadapters auf:sqlDataAdapter1.Fill(DsCategories1)
sqlDataAdapter1.Fill(DsCategories1);
sqlDataAdapter1->Fill(dsCategories1);
Wenn das Dataset aus einem XML-Webdienst gefüllt wird, erstellen Sie in der Regel eine Instanz des Diensts in Ihrem Code und rufen dann eine Methode des Diensts auf, um ein Dataset zurückzugeben. Anschließend führen Sie das Dataset aus dem XML-Webdienst mit dem lokalen Dataset zusammen. Das folgende Beispiel zeigt, wie Sie eine Instanz eines XML-Webdiensts namens
CategoriesService
erstellen können, dieGetCategories
-Methode aufrufen und das resultierende Dataset mit einem lokalen Dataset namensDsCategories1
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 die Datenquelle und ein Datenelement. Wenn Sie kein Datenelement explizit übergeben müssen, übergeben Sie eine leere Zeichenfolge.
Hinweis
Bei der ersten Bindung des Rasters können Sie die Eigenschaften DataSource und DataMember des Steuerelements festlegen. Sie können diese Eigenschaften jedoch nicht zurücksetzen, nachdem sie festgelegt wurden. Daher wird empfohlen, immer die Methode SetDataBinding zu verwenden.
Das folgende Beispiel zeigt, wie Sie programmgesteuert eine Bindung an die Tabelle "Customers" in einem Dataset namens
DsCustomers1
erstellen können:DataGrid1.SetDataBinding(DsCustomers1, "Customers")
DataGrid1.SetDataBinding(DsCustomers1, "Customers");
dataGrid1->SetDataBinding(dsCustomers1, "Customers");
Wenn die Tabelle "Customers" die einzige Tabelle im Dataset ist, können Sie die Bindung an das Raster wie folgt erstellen:
DataGrid1.SetDataBinding(DsCustomers1, "")
DataGrid1.SetDataBinding(DsCustomers1, "");
dataGrid1->SetDataBinding(dsCustomers1, "");
(Optional) Fügen Sie dem Raster geeignete Tabellen- und Spaltenstile hinzu. Wenn keine Tabellenstile vorhanden sind, wird die Tabelle zwar angezeigt, aber mit minimaler Formatierung, und alle Spalten sind sichtbar.
Weitere Informationen
.NET Desktop feedback
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für