Partilhar via


Como: Alterar dados exibidos em tempo de execução no controle DataGrid do 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 uso futuro, se você escolher. Para obter mais informações, consulte Diferenças entre os controles DataGridView e DataGrid do Windows Forms.

Depois de criar um DataGrid Windows Forms utilizando os recursos em modo de design, pode também desejar alterar dinamicamente os elementos do objeto DataSet da grelha em tempo de execução. Isso pode incluir alterações em valores individuais da tabela ou alterar qual fonte de dados está vinculada ao controle DataGrid. As alterações nos valores individuais são feitas através do objeto DataSet, não do controle DataGrid.

Para alterar dados programaticamente

  1. Especifique a tabela desejada a partir do objeto DataSet 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 do DataSet ou a primeira linha da 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. O DataSet (ds) e as Tabelas (0 e 1) foram previamente criados.

    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 código a seguir 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 SetDataBinding para vincular o controle DataGrid 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.

Para alterar a fonte de dados programaticamente

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

    O exemplo a seguir mostra como alterar a fonte de data usando o método SetDataBinding 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");
       }
    

Ver também