none
Marcar todos checkbox da coluna no DataGridView RRS feed

  • Pergunta

  • Tenho um botão no form Marcar todos e Desmarcar todos para selecionar todas linhas do DataGridView, porem a linha que esta selecionada com o foco o checkbox não marca, como se tivesse algo desmarcando.

    Dentro do botão Marcar todos

     (bindingSource.DataSource as List<DadosGridContasReceber>).ForEach(c =>
                        {
                            c.selecionado = true;
                        });
    
                        bindingSource.ResetBindings(true);
                        GridConsultaRecebimentoAprazo.DataSource = bindingSource;
                        GridConsultaRecebimentoAprazo.Refresh();

    IMAGEM: http://prntscr.com/kqo5q9



    terça-feira, 4 de setembro de 2018 23:10

Respostas

  • Guilherme, 

    fiz um teste e com o procedimento todos os check box do DataGridView foram marcados, mesmo os que estavam com foco ou selecionados. Faça um teste, por favor. 

    Abaixo o código de exemplo que fiz, perceba que a coluna que possui o checkbox é do tipo DataGridViewCheckBoxCell.

     private void button1_Click(object sender, EventArgs e)
            { 
                foreach (DataGridViewRow dtr in dataGridView1.Rows) {
                    ((DataGridViewCheckBoxCell)dtr.Cells[0]).Value = true;
                }
            }


    quinta-feira, 27 de setembro de 2018 19:55

Todas as Respostas

  • Olá, Guilherme!

       Já conferiu se há algum evento do grid ou do bindingSource que está fazendo isto? Aparentemente este código deveria funcionar, a não ser que um outro evento esteja desmarcando o check na linha selecionada. Se não for nada disso, experimente escrever este código de outra forma, por exemplo:

    this.dataGridView1.Rows.Cast<DataGridViewRow>().ToList().ForEach(i => i.Cells[chkColumn.Name].Value = true);
    Bom trabalho!

    • Editado Rodrigo CdS quarta-feira, 5 de setembro de 2018 18:45
    quarta-feira, 5 de setembro de 2018 18:45
  • Boa tarde Rodrigo, fiz o seu procedimento, porem a linha que esta com foco não marca.
    sábado, 8 de setembro de 2018 13:37
  • Boa tarde, Guilherme Walter. Tudo bem?

    Conseguiu algum avanço no teu caso? 

    Se ainda não o que precisa?

    Atenciosamente,

    Filipe B de Castro

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    quarta-feira, 26 de setembro de 2018 22:50
    Moderador
  • Ainda não, estou com o mesmo problema.
    quarta-feira, 26 de setembro de 2018 22:51
  • Guilherme, 

    fiz um teste e com o procedimento todos os check box do DataGridView foram marcados, mesmo os que estavam com foco ou selecionados. Faça um teste, por favor. 

    Abaixo o código de exemplo que fiz, perceba que a coluna que possui o checkbox é do tipo DataGridViewCheckBoxCell.

     private void button1_Click(object sender, EventArgs e)
            { 
                foreach (DataGridViewRow dtr in dataGridView1.Rows) {
                    ((DataGridViewCheckBoxCell)dtr.Cells[0]).Value = true;
                }
            }


    quinta-feira, 27 de setembro de 2018 19:55