Inquiridor
CheckBox e DataGridView

Pergunta
-
Boa tarde,
Possuo uma aplicação Windows Form e estou utilizando uma coluna checkbox no datagridview.
Criei somente esta coluna no datagridview, o resto das colunas vem de um dataset em tempo de execução.
No decorrer do meu código, verifico se existe registro entre uma tabela e os dados que estão na linha do datagrid, se existir, eu checo o datagridview.
Segue o código para ficar mais explicado:
for (int i = 0; i < dgvTabFases.Rows.Count; i++)
{
fase.Fase = Convert.ToInt32(dgvTabFases.Rows.Cells[1].Value);
if (fase.VerificaFaseReferencia())
dgvTabFases.Rows.Cells[0].Value = true;
else
dgvTabFases.Rows.Cells[0].Value = false;
}
Ou seja, eu verifico se existe essa fase para a referência, se existir eu marco o check, senão desmarco.
Eu debugando ele muda o status da coluna para true ou false como é para ser, o problema está sendo que ele não está "redesenhando" a grid, ou seja, ele não exibe que está marcado. O meu formulário possui outra aba, se eu sair da aba que estou e voltar para a aba que tem o datagridview, ele executa denovo o mesmo código e vemos o que está checado ou não.
Ou seja, ele faz o mesmo código, mas só na 2ª vez que me mostra o que está checado ou não. Já tentei usar vários métodos... refresh... begin edit... commit edit... etc.. mas não rolou...
Agradeço qualquer ajuda.
Leandro
Todas as Respostas
-
-
-
Leandro,
Abre o dataset designer e inclua o campo na sua tabela usando o botão direito do mouse, ele funcionará como um campo virtual, já que não existe no BD.
Feito isto, você adiciona o campo no grid, assim como fez com os outros campos.
[]s,