Como alterar os dados exibidos em tempo de execução no controle DataGrid dos Windows Forms

Observação

O controle DataGridView substitui e adiciona funcionalidade ao controle DataGrid, no entanto, o controle DataGrid é mantido para compatibilidade com versões anteriores e para uso futuro, se desejado. Para obter mais informações, consulte Diferenças Entre o Windows Forms DataGridView e os Controles do DataGrid.

Depois de criar um Windows Forms DataGrid usando os recursos de tempo de design, você também pode querer alterar dinamicamente elementos DataSet do objeto da grade em tempo de execução. Isso pode incluir alterações em valores individuais da tabela ou alterar qual fonte de dados está vinculada ao DataGrid controle. As alterações em valores individuais são feitas por meio do objeto, não do DataSetDataGrid controle.

Alterar dados com programação

  1. Especifique a tabela desejada do DataSet objeto e a linha e o campo desejados da tabela e defina a célula igual ao novo valor.

    Observação

    Para especificar a primeira tabela da ou a primeira linha da DataSet tabela, use 0.

    O exemplo a seguir mostra como alterar a segunda entrada da primeira linha da primeira tabela de um conjunto de dados clicando em Button1. As DataSet (ds) e Tabelas (0 e 1) foram criadas anteriormente.

    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++) Coloque o seguinte código no construtor do formulário para registrar o manipulador de eventos.

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

    Em tempo de execução, você pode usar o método para vincular o SetDataBindingDataGrid controle a uma fonte de dados diferente. Por exemplo, você pode ter vários controles de dados ADO.NET, cada um conectado a um banco de dados diferente.

Alterar o DataSource com programação

  1. Defina o método como o SetDataBinding nome da fonte de dados e da tabela à qual você deseja vincular.

    O exemplo a seguir mostra como alterar a fonte de data usando o SetDataBinding método para um controle de dados ADO.NET (adoPubsAuthors) conectado à tabela Authors no banco de dados Pubs.

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

Confira também