none
baixa com checkbox no gridview - C# Desktop RRS feed

  • Pergunta

  • Galera, como faço para pegar todos os valores selecionado em um checkbox que esta dentro de um gridview ?
    tenho um form de contas a pagar e nele o usuário pode escolher várias contas para dar baixa através de um checkbox no gridview, mas quando tento dar a baixa no banco o código só pega o ultimo valor selecionado.

    Alguém pode me ajudar ?

    sábado, 13 de outubro de 2012 23:53

Respostas

  • Bem amigo, aqui tem um código que eu utilizo para percorrer todas os checkbox de uma datagridview. ELe está no evento click de um botão qualquer.

    private void pictureBox3_Click(object sender, EventArgs e)
            {
                dataGridView1.EndEdit();
                List<int> codigos = new List<int>();
    
                if (bool.Parse(dataGridView1.CurrentRow.Cells[0].FormattedValue.ToString()) == true)
                {
                    foreach (DataGridViewRow check in dataGridView1.Rows)
                    {
                        if ((bool)check.Cells[0].FormattedValue)
                        {
                            codigos.Add(int.Parse(check.Cells[7].Value.ToString()));
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Você não marcou nenhum registro");
                }
    
                for (int i = 0; i < codigos.Count; i++)
                {
                    MessageBox.Show(codigos[i].ToString());
                }
            }

    Perceba que a coluna checkbox é a 0 e dos marcados eu estou pegando o valor da coluna 7(no caso onde eu tenho o id) e passo esses valores para uma lista, depois disso é só percorrer a lista com os valores que você quer.

    Espero que possa ajudá-lo.

    domingo, 14 de outubro de 2012 13:47

Todas as Respostas

  • Bem amigo, aqui tem um código que eu utilizo para percorrer todas os checkbox de uma datagridview. ELe está no evento click de um botão qualquer.

    private void pictureBox3_Click(object sender, EventArgs e)
            {
                dataGridView1.EndEdit();
                List<int> codigos = new List<int>();
    
                if (bool.Parse(dataGridView1.CurrentRow.Cells[0].FormattedValue.ToString()) == true)
                {
                    foreach (DataGridViewRow check in dataGridView1.Rows)
                    {
                        if ((bool)check.Cells[0].FormattedValue)
                        {
                            codigos.Add(int.Parse(check.Cells[7].Value.ToString()));
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Você não marcou nenhum registro");
                }
    
                for (int i = 0; i < codigos.Count; i++)
                {
                    MessageBox.Show(codigos[i].ToString());
                }
            }

    Perceba que a coluna checkbox é a 0 e dos marcados eu estou pegando o valor da coluna 7(no caso onde eu tenho o id) e passo esses valores para uma lista, depois disso é só percorrer a lista com os valores que você quer.

    Espero que possa ajudá-lo.

    domingo, 14 de outubro de 2012 13:47
  • foreach (DataGridViewRow row in _grdMovBaixaContasPagasTotalDocumentos.Rows)
    {
    
            if (bool.Parse(row.Cells[0].EditedFormattedValue.ToString()))
    
            {
    
    		//Seu código para fazer a baixa
    
            }
    
    }

    terça-feira, 23 de outubro de 2012 13:53