none
Marcar e desmarcar 2º checkbox no datagridview se o primeiro estiver marcado. RRS feed

  • Pergunta

  • Marcando/Desmarcando o 1ºcheckbox no DGV eu preciso Marcar /desmarcar 2º checkbox no datagridview

    Como faço isso ?

    C#

    WindowsForms

    terça-feira, 6 de março de 2018 00:05

Respostas

  • Pessoal eu consegui resolver assim: 
    
    private void dgvLancamentosDoMes_CellContentClick(object sender, DataGridViewCellEventArgs e)
            {
                dgvDebitosDaPessoaSelecionada.EndEdit();
    
                if (e.ColumnIndex == 0)
                {
                    if (Convert.ToBoolean(dgvDebitosDaPessoaSelecionada.Rows[e.RowIndex].Cells[0].Value) == true)
                    {
                        dgvDebitosDaPessoaSelecionada.Rows[e.RowIndex].Cells[8].Value = true;
                        calcula();
                    }
                    else if (Convert.ToBoolean(dgvDebitosDaPessoaSelecionada.Rows[e.RowIndex].Cells[0].Value) == false)
                    {
                        dgvDebitosDaPessoaSelecionada.Rows[e.RowIndex].Cells[8].Value = false;
                        calcula();
                    }
                }
                if (e.ColumnIndex == 8)
                {
                    if (Convert.ToBoolean(dgvDebitosDaPessoaSelecionada.Rows[e.RowIndex].Cells[0].Value) == true)
                    {
                        dgvDebitosDaPessoaSelecionada.Rows[e.RowIndex].Cells[8].Value = false;
                        calcula();
                    }
                }
            }
    
    se algum souber uma forma mais enxuta, agradeço, usando mais ling ou lambda. abraçao

    • Marcado como Resposta TiagoJesusTJS sexta-feira, 9 de março de 2018 12:36
    sexta-feira, 9 de março de 2018 12:36

Todas as Respostas

  • Olá Tiago,

    não me lembro de cabeça sintaxe exata, mas a lógica você deve realizar um "FOR" no seu grid e procurando pelo objeto checkbox -> se o objeto no índice "0" (acredito que seja o sua primeira célula) estiver selecionado (checked = true) -> então o segundo objeto você marca como false;

    Se você tiver o código coloque aqui para ajudarmos melhor, caso contrário informe como é o seu grid (pode ser uma imagem mesmo dele) para poder montar a lógica.

    Abs!


    Leandro de Agostini MCTS - Web Application, Framework 4

    terça-feira, 6 de março de 2018 01:00
  • Pessoal eu consegui resolver assim: 
    
    private void dgvLancamentosDoMes_CellContentClick(object sender, DataGridViewCellEventArgs e)
            {
                dgvDebitosDaPessoaSelecionada.EndEdit();
    
                if (e.ColumnIndex == 0)
                {
                    if (Convert.ToBoolean(dgvDebitosDaPessoaSelecionada.Rows[e.RowIndex].Cells[0].Value) == true)
                    {
                        dgvDebitosDaPessoaSelecionada.Rows[e.RowIndex].Cells[8].Value = true;
                        calcula();
                    }
                    else if (Convert.ToBoolean(dgvDebitosDaPessoaSelecionada.Rows[e.RowIndex].Cells[0].Value) == false)
                    {
                        dgvDebitosDaPessoaSelecionada.Rows[e.RowIndex].Cells[8].Value = false;
                        calcula();
                    }
                }
                if (e.ColumnIndex == 8)
                {
                    if (Convert.ToBoolean(dgvDebitosDaPessoaSelecionada.Rows[e.RowIndex].Cells[0].Value) == true)
                    {
                        dgvDebitosDaPessoaSelecionada.Rows[e.RowIndex].Cells[8].Value = false;
                        calcula();
                    }
                }
            }
    
    se algum souber uma forma mais enxuta, agradeço, usando mais ling ou lambda. abraçao

    • Marcado como Resposta TiagoJesusTJS sexta-feira, 9 de março de 2018 12:36
    sexta-feira, 9 de março de 2018 12:36