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

  1. 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 die Fill-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 CategoriesServiceerstellen können, die GetCategories-Methode aufrufen und das resultierende Dataset mit einem lokalen Dataset namens 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());  
    
  2. 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, "");  
    
  3. (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