Freigeben über


Vorgehensweise: Ändern der angezeigten Daten im DataGrid-Steuerelement in Windows Forms zur Laufzeit

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.

Nachdem Sie das Windows Forms-Steuerelement DataGrid mithilfe der Entwurfszeitfeatures erstellt haben, möchten Sie möglicherweise auch die Elemente des DataSet-Objekts des Rasters zur Laufzeit dynamisch ändern. Dabei können Sie entweder einzelne Werte der Tabelle oder die Datenquelle ändern, die an das DataGrid-Steuerelement gebunden ist. Änderungen an einzelnen Werten erfolgen über das DataSet-Objekt, nicht über das DataGrid-Steuerelement.

So ändern Sie Daten programmgesteuert

  1. Geben Sie die gewünschte Tabelle aus dem DataSet-Objekt und die gewünschte Zeile und das gewünschte Feld aus der Tabelle an, und legen Sie die Zelle entsprechend dem neuen Wert fest.

    Hinweis

    Um die erste Tabelle von DataSet oder die erste Zeile der Tabelle anzugeben, verwenden Sie 0.

    Das folgende Beispiel zeigt, wie Sie den zweiten Eintrag der ersten Zeile der ersten Tabelle eines Datasets ändern, indem Sie auf Button1 klicken. DataSet (ds) und Tabellen (0 und 1) wurden zuvor erstellt.

    Protected Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click  
       ds.tables(0).rows(0)(1) = "NewEntry"  
    End Sub  
    
    private void button1_Click(object sender, System.EventArgs e)  
    {  
       ds.Tables[0].Rows[0][1]="NewEntry";  
    }  
    
    private:
       void button1_Click(System::Object^ sender, System::EventArgs^ e)  
       {  
          dataSet1->Tables[0]->Rows[0][1] = "NewEntry";  
       }  
    

    (Visual C# und Visual C++) Fügen Sie folgenden Code in den Konstruktor des Formulars ein, um den Ereignishandler zu registrieren.

    this.button1.Click += new System.EventHandler(this.button1_Click);  
    
    this->button1->Click +=  
       gcnew System::EventHandler(this, &Form1::button1_Click);  
    

    Zur Laufzeit können Sie die SetDataBinding-Methode verwenden, um das DataGrid-Steuerelement an eine andere Datenquelle zu binden. Sie können z. B. mehrere ADO.NET-Steuerelemente haben, die jeweils mit einer anderen Datenbank verbunden sind.

So ändern Sie DataSource programmgesteuert

  1. Legen Sie in der SetDataBinding-Methode den Namen der Datenquelle und der Tabelle fest, an die die Bindung erfolgen soll.

    Das folgende Beispiel zeigt, wie Sie die Datumsquelle mit der SetDataBinding-Methode in einem ADO.NET-Steuerelement (adoPubsAuthors) ändern, das mit der Tabelle „Authors“ in der Datenbank „Pubs“ verbunden ist.

    Private Sub ResetSource()  
       DataGrid1.SetDataBinding(adoPubsAuthors, "Authors")  
    End Sub  
    
    private void ResetSource()  
    {  
       DataGrid1.SetDataBinding(adoPubsAuthors, "Authors");  
    }  
    
    private:  
       void ResetSource()  
       {  
          dataGrid1->SetDataBinding(adoPubsAuthors, "Authors");  
       }  
    

Weitere Informationen