Usuário com melhor resposta
baixa com checkbox no gridview - C# Desktop

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 ?
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.
- Sugerido como Resposta Dionei Cardozo domingo, 14 de outubro de 2012 14:01
- Marcado como Resposta Olavo Oliveira NetoModerator terça-feira, 16 de outubro de 2012 13:32
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.
- Sugerido como Resposta Dionei Cardozo domingo, 14 de outubro de 2012 14:01
- Marcado como Resposta Olavo Oliveira NetoModerator terça-feira, 16 de outubro de 2012 13:32
-