none
DataGridViewButtonColumn cada consulta realizada aparece um botao novo RRS feed

  • Discussão Geral

  • olá boa tarde tudo bem? estou desenvolvendo uma aplicação quando o cliente clica no botao ele faz uma consulta no banco de dados e para os itens que ele consulta cria um botão, porem se eu fazer a  consulta novamente ele  mostra o mesmo resultado com um botão e mais cada vez, eu penso que Tem como tratar esse erro mas sou iniciante e não conhecido muito , alguém pode me ajudar por favor?

    codigo onde ele cria o botao:

                    var adapter = novo SqlDataAdapter (SQL, Stringcon);
                    var ds = novo DataSet ();
                    adapter.Fill (ds, "TB_PRODUTOS");
                    DgResultado.DataSource = ds.Tables ["TB_PRODUTOS"];

                    DataGridViewButtonColumn btn = new DataGridViewButtonColumn ();
                    DgResultado.Columns.Add (btn);
                    btn.HeaderText = "Adicionar na lista";
                    btn.Text = "Adicionar";
                    btn.Name = "btn";
                    btn.UseColumnTextForButtonValue = true;


    terça-feira, 9 de janeiro de 2018 16:34

Todas as Respostas

  • olá boa tarde tudo bem? estou desenvolvendo uma aplicação quando o cliente clica no botao ele faz uma consulta no banco de dados e para os itens que ele consulta cria um botão, porem se eu fazer a  consulta novamente ele  mostra o mesmo resultado com um botão e mais cada vez, eu penso que Tem como tratar esse erro mas sou iniciante e não conhecido muito , alguém pode me ajudar por favor?

    codigo onde ele cria o botao:

                    var adapter = novo SqlDataAdapter (SQL, Stringcon);
                    var ds = novo DataSet ();
                    adapter.Fill (ds, "TB_PRODUTOS");
                    DgResultado.DataSource = ds.Tables ["TB_PRODUTOS"];

                    DataGridViewButtonColumn btn = new DataGridViewButtonColumn ();
                    DgResultado.Columns.Add (btn);
                    btn.HeaderText = "Adicionar na lista";
                    btn.Text = "Adicionar";
                    btn.Name = "btn";
                    btn.UseColumnTextForButtonValue = true;

           Boa tarde, Jadson José.

          Pelo que vejo no código você não da o Clear no grid antes de popular o mesmo.

         

      


    Analista Programador

    segunda-feira, 26 de fevereiro de 2018 20:09
  • Olá Jadson,

    a resposta do colega do Marivaldo está correta, para isso não ocorrer você deve adicionar esta linha

    DgResultado.DataSource = null;

    antes de 

    DgResultado.DataSource = ds.Tables ["TB_PRODUTOS"];

    Abs!


    Leandro de Agostini MCTS - Web Application, Framework 4

    quarta-feira, 28 de fevereiro de 2018 01:52
  • Olá boa tarde Marivaldo, tudo bem?

    Desculpa a demora, funcionou sim.

    Muito obrigado pela ajuda.

    sexta-feira, 27 de abril de 2018 18:07
  • Olá Leandro, tudo bem?

    Sim, muito obrigado.

    Desculpa a demora estava testando agora que ficou bonitinho o programa. 

    Só preciso de um ajuste para finalizar.

    Ao consultar no datagrid apresenta o resultado e uma linha que vem por ultimo toda vazia, não sei como evitar dela aparecer,

    você acha que seria melhor eu tratar row por row em um while, for, array ou list da jeito?

    Muito agradecido.


    • Editado JadsonJosé sexta-feira, 27 de abril de 2018 18:12
    sexta-feira, 27 de abril de 2018 18:08