Export (0) Print
Expand All

Changing Displayed Data at Run Time in the Windows Forms DataGrid Control

Visual Studio .NET 2003

After you have created a Windows Forms DataGrid using the design-time features, you may also wish to dynamically change elements of the DataSet object of the grid at run time. This can include changes to either individual values of the table or changing which data source is bound to the DataGrid control. Changes to individual values are done through the DataSet object, not the DataGrid control.

To change data programmatically

  • Specify the desired table from the DataSet object and the desired row and field from the table and set the cell equal to the new value.
    Note   To specify the first table of the DataSet or the first row of the table, use 0.

    The following example shows how to change the second entry of the first row of the first table of a dataset by clicking Button1. The DataSet (ds) and Tables (0 and 1) were previously created.

    ' Visual Basic
    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
    
    // C#
    private void button1_Click(object sender, System.EventArgs e)
    {
       ds.Tables[0].Rows[0][1]="NewEntry";
    }
    
    // C++
    private: 
       void button1_Click(System::Object* sender, System::EventArgs* e)
       {
          dataSet1->Tables->Item[0]->Rows->Item[0][1]= S"NewEntry";
       }
    
    Visual C# and Visual C++ Note   Be sure that the necessary code to enable the event handler is present. In this case, it would be similar to the following:
    // C#
    this.button1.Click += new System.EventHandler(this.button1_Click);
    // C++
    this->button1->Click +=
    new System::EventHandler(this, button1_Click);

At run time you can use the SetDataBindings property to bind the DataGrid control to a different data source. For example, you may have several ADO.NET data controls, each connected to a different database.

To change the DataSource programmatically

  • Set the SetDataBinding method to the name of the data source and table you want to bind to.

    The following example shows how to change the date source using the SetDataBinding method to an ADO.NET data control (adoPubsAuthors) that is connected to the Authors table in the Pubs database.

    ' Visual Basic
    Private Sub ResetSource()
       DataGrid1.SetDataBinding(adoPubsAuthors, "Authors")
    End Sub
    
    // C#
    private void ResetSource()
    {
       DataGrid1.SetDataBinding(adoPubsAuthors, "Authors");
    }
    
    // C++
    private:
       void ResetSource()
       {
          dataGrid1->SetDataBinding(adoPubsAuthors, S"Authors");
       }
    

See Also

ADO.NET Datasets | Deleting Columns in the Windows Forms DataGrid Control | Adding Tables and Columns to the Windows Forms DataGrid Control | Binding the Windows Forms DataGrid Control to a Data Source

Show:
© 2015 Microsoft