Freigeben über


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

Hinweis

Das DataGridView-Steuerelement ersetzt und fügt dem DataGrid-Steuerelement Funktionen hinzu; Das DataGrid-Steuerelement wird jedoch sowohl für die Abwärtskompatibilität als auch für die zukünftige Verwendung beibehalten, wenn Sie dies auswählen. 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

    Verwenden Sie 0, um die erste Tabelle von DataSet oder die erste Zeile der Tabelle anzugeben.

    Das folgende Beispiel zeigt, wie Sie den zweiten Eintrag der ersten Zeile der ersten Tabelle eines Datasets ändern, indem Sie auf Button1klicken. 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#, Visual C++) Platzieren Sie den folgenden Code im Konstruktor des Formulars, 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. Beispielsweise verfügen Sie möglicherweise über mehrere ADO.NET Datensteuerelemente, die jeweils mit einer anderen Datenbank verbunden sind.

So ändern Sie DataSource programmgesteuert

  1. Legen Sie die SetDataBinding-Methode auf den Namen der Datenquelle und der Tabelle fest, an die Sie eine Bindung erstellen möchten.

    Das folgende Beispiel zeigt, wie Sie die Datumsquelle mithilfe der SetDataBinding-Methode in ein ADO.NET-Datensteuerelement (adoPubsAuthors) ändern, das mit der Tabelle "Authors" in der Pubs-Datenbank 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");
       }
    

Siehe auch