none
atualizar datagridview após gravar um registro RRS feed

  • Pergunta

  • ola pessoal, estou tentando gravar um DataGridView no momento em que um novo registro é

    gravado na tabela, pois o DataGridView só está sendo atualizada se fechar o form e abri-lo

    novamente, estou fazendo da seguinte forma:

    DataSetdts = newDataSet();

    dataGridView1.DataSource = dts.Tables["Agenda"];

    dessa forma não da erro, mas desaparece todos os registros do DataGridview, olhei

    alguns exemplos aqui no forum, mas nao deu certo, estou trabalhando com o MySql.

    obrigado.

    domingo, 28 de abril de 2013 14:33

Respostas

  • obrigado, agora deu certo, estava colocando os comandos abaixo em lugar errado.

    sql = "select * from agenda";

    DataSet dts = new Dataset();

    MySql.Data.MySqlClient.MySqlDataAdapter datap = new MySqlDataAdapter(sql,Program.conn);

    datap.Fill(dts, "Agenda");

    dataGridView1.DataSource = dts.Tables["Agenda"];

    • Marcado como Resposta Porter Porter segunda-feira, 29 de abril de 2013 20:27
    segunda-feira, 29 de abril de 2013 12:35

Todas as Respostas

  • Dirceu,

    Com o código que você demonstrou acima vai acontecer este comportamento mesmo, o correto seria você usar a mesma rotina que usou para carregar o DataGridView pela primeira vez.

    Talvez para evitar uma ida ao banco de dados, você poderia inserir esta linha no DataGridView, via código mesmo, apos a gravação no banco de dados.

    Vitor Mendes | Seu feedback é muito importante para todos!
    Visite o meu site: http://www.vitormendes.com.br/

    domingo, 28 de abril de 2013 15:37
  • Estou fazendo assim para abrir o DataGridView no comeco, mas se fizer da forma descrita

    abaixo apos gravar o registro, o registro nao grava, so estou conseguindo atualizar o Grid, se

    clicar em um botao onde seleciona todos os registros, ai atualiza normalmente, entendeu.

    obrigado.

    sql = "select * from agenda

    DataSet dts = new Dataset()

    datap.Fill(dts, "Agenda")

    dataGridView1.DataSource = dts.Tables["Agenda"];

    domingo, 28 de abril de 2013 18:32
  • após a linha:

    dataGridView1.DataSource = dts.Tables["Agenda"];

    Coloque um:

    dataGridView1.Refresh();

    Isso, se o seu problema for apenas a atualização da grid. 

    • Sugerido como Resposta AfonsoVieira sexta-feira, 14 de dezembro de 2018 00:23
    segunda-feira, 29 de abril de 2013 11:32
  • obrigado, agora deu certo, estava colocando os comandos abaixo em lugar errado.

    sql = "select * from agenda";

    DataSet dts = new Dataset();

    MySql.Data.MySqlClient.MySqlDataAdapter datap = new MySqlDataAdapter(sql,Program.conn);

    datap.Fill(dts, "Agenda");

    dataGridView1.DataSource = dts.Tables["Agenda"];

    • Marcado como Resposta Porter Porter segunda-feira, 29 de abril de 2013 20:27
    segunda-feira, 29 de abril de 2013 12:35
  • Se entendi pois você quer atualizar o GridView a cada registro no banco.

    Não sei como você fez, mais acredito que tenha uma metodo para listar no grid e outro para fazer o insert.

    Caso for, apenas faça chamar os dois metodos em um botoão, load da pagina ou ate mesmo em um timer.

    Assim sempre sera executado as duas funçoes.

    Grato! Espero ter ajudado


    Edinaldo Santos System Analyst Jr - Inovatec

    sexta-feira, 24 de fevereiro de 2017 19:30
  • Olá boa noite 

    Essa linha dataGridView1.Refresh(); me ajudou muito esta funcionando do jeito que eu estava querendo, agora se eu inserir, alterar ou excluir ele exibi no DataGrid a tabela já atualizada.

    Valeu!!! Leonardo N.D'Amato

    sexta-feira, 14 de dezembro de 2018 00:27
  • Olá Boa Tarde!

    Já tive esse probleminha, e para isso eu dou um refresh() no form, após inserir os dados no dgv na linha debaixo escreva essa função!

    Refresh();

    pronto seu Form e todos os componentes foram atualizados!

    segunda-feira, 17 de dezembro de 2018 10:59