DATAGRIDVIEW COLUNA CHECKBOX

PERCIFILHO 29/04/2016 12:51:04
#461660
Boa tarde, pessoal, é o seguinte:
Crio um DataSet e preencho um DataGridView com o DataSource:

 SqlCeDataAdapter da = new SqlCeDataAdapter(sql, Dados.conexao);
DataSet ds = new DataSet();
da.Fill(ds, [Ô]Tabela[Ô]);
dgv.DataSource = ds;
dgv.DataMember = [Ô]Tabela[Ô];


Quando o usuário clicar em um botão para excluir algum registro da tabela, eu crio uma coluna CheckBox no DataGridView.

DataGridViewCheckBoxColumn checkColumn = new DataGridViewCheckBoxColumn();
checkColumn.HeaderText = [Ô][Ô];
checkColumn.Name = [Ô]check[Ô];
checkColumn.Width = 30;
dgv.Columns.Add(checkColumn);
dgv.Columns[[Ô]check[Ô]].DisplayIndex = 0;


Até aqui tudo bem;
Agora estou tentando clicar na coluna checkbox para marcar ou desmarcar o registro. Não estou conseguindo:
Seria algo mais ou menos assim:

private void dgv_CellClick(object sender, DataGridViewCellEventArgs e)
{
int indice = dgv.CurrentRow.Cells[[Ô]check[Ô]].ColumnIndex;
if (dgv.CurrentCell.ColumnIndex.Equals(indice))
{
[txt-color=#e80000] ====> aqui dá o erro:Object reference not set to an instance of an object.[/txt-color]
if (dgv.CurrentRow.Cells[[Ô]check[Ô]].Value.Equals(null))
{
dgv.CurrentRow.Cells[[Ô]check[Ô]].Value = true;
}
else
{
dgv.CurrentRow.Cells[[Ô]check[Ô]].Value = false;
}
}
}


Onde estou errando?
PERCIFILHO 29/04/2016 13:31:35
#461667
Pessoal, descobri o meu erro. Modifiquei o evento CellClick;

private void dgv_CellClick(object sender, DataGridViewCellEventArgs e)
{
int linha = dgv.CurrentRow.Cells[[Ô]check[Ô]].RowIndex;
int coluna = dgv.CurrentRow.Cells[[Ô]check[Ô]].ColumnIndex;
foreach (DataGridViewRow row in dgv.Rows)
{
foreach (DataGridViewCell cell in dgv.Rows[linha].Cells)
{
if (cell.ColumnIndex == coluna)
{
if (dgv.Rows[linha].Cells[coluna].Value == null || dgv.Rows[linha].Cells[coluna].Value.Equals(false))
{
dgv.Rows[linha].Cells[coluna].Value = true; // marcado
}
else
{
dgv.Rows[linha].Cells[coluna].Value = false; // desmarcado
}
}
}
}
}

Agora funcionou beleza.
KERPLUNK 29/04/2016 14:09:39
#461671
Desistiu de usar OOP?
PERCIFILHO 29/04/2016 14:59:03
#461675
Não desisti, não, é que estou ajudando na manutenção de outro sistema aqui na empresa e este daqui ainda não era baseado na OOP.

KERPLUNK 29/04/2016 15:20:21
#461677
Mas você pode aplicar o mesmo princípio, nem que seja para uma entidade apenas. Você sabe o quanto facilita...
PERCIFILHO 29/04/2016 15:26:12
#461678
é que os [Ô]caras[Ô] aqui são demais, querem tudo pra ontem. Tenho que parar tudo o que estou fazendo pra alterar umas coisas que só por Deus mesmo.
Vivem inventando histórias, acho que pensam que eu não tenho nada pra fazer, é isso.
Mas depois pretendo alterar todos os módulos existentes usando OOP e quem sabe futuramente usando WebApi, né?
KERPLUNK 29/04/2016 19:05:05
#461692
E pode contar com minha ajuda pra isso
Tópico encerrado , respostas não são mais permitidas