VALIDAR CÉLULA DATAGRIDVIEW
Bom dia, pessoal, olha eu aqui de novo !!! (E bem na sexta-feira, hein?)
Minha dúvida de hoje deve ser fácil, porém, já tentei várias formas e ainda não consegui, por isso estou aqui.
Tenho um DataGridView, onde existe uma coluna de valor (coluna10) que é o valor do documento e que o usuário pode editá-la.
Pois bem, quero após o usuário digitar, validar essa célula, pois ela não pode ser vazia.
Consigo fazer essa validação, porém gostaria de quando a célula for vazia, atribuir o valor [Ô]0,00[Ô] a ela. Isso eu não estou conseguindo.
Estou fazendo da seguinte maneira:
Depurando o programa, verifiquei o seguinte: a célula vem com um valor da tabela. Quando o usuário dá duplo clique na célula, ela fica editável. Se o usuário teclar Delete e apagar o conteúdo da célula, ao clicar Enter, ele dá erro no evento CellEndEdit na linha abaixo.
O erro que ocorre: NullReferenceException was unhandled - Object reference not set to an instance of an object.
Alguém sabe me dizer onde estou errando e como corrigir isso?
Minha dúvida de hoje deve ser fácil, porém, já tentei várias formas e ainda não consegui, por isso estou aqui.
Tenho um DataGridView, onde existe uma coluna de valor (coluna10) que é o valor do documento e que o usuário pode editá-la.
Pois bem, quero após o usuário digitar, validar essa célula, pois ela não pode ser vazia.
Consigo fazer essa validação, porém gostaria de quando a célula for vazia, atribuir o valor [Ô]0,00[Ô] a ela. Isso eu não estou conseguindo.
Estou fazendo da seguinte maneira:
private void dgvParcelas_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
string headerText = dgvParcelas.Columns[e.ColumnIndex].HeaderText;
if (headerText.Equals([Ô]Vlr. docto.[Ô]))
{
if (string.IsNullOrEmpty(e.FormattedValue.ToString()))
{
// aqui, retirei a mensagem e deixei e.Cancel=false para continuar sem travar a edição
//MessageBox.Show([Ô]Valor do documento não pode ser vazio[Ô], [Ô]Valor do documento[Ô], MessageBoxButtons.OK, MessageBoxIcon.Warning);
e.Cancel = false;
}
}
}
Depurando o programa, verifiquei o seguinte: a célula vem com um valor da tabela. Quando o usuário dá duplo clique na célula, ela fica editável. Se o usuário teclar Delete e apagar o conteúdo da célula, ao clicar Enter, ele dá erro no evento CellEndEdit na linha abaixo.
private void dgvParcelas_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
valordocumento = dgvParcelas.CurrentRow.Cells[10].Value.ToString();
}
O erro que ocorre: NullReferenceException was unhandled - Object reference not set to an instance of an object.
Alguém sabe me dizer onde estou errando e como corrigir isso?
Pessoal, descobri, fiz assim e deu certo.
Agradeço aos que leram o post.
Até mais.
private void dgvParcelas_CellValidated(object sender, DataGridViewCellEventArgs e)
{
if (dgvParcelas.CurrentRow.Cells[10].Value == null)
{
dgvParcelas.CurrentRow.Cells[10].Value = [Ô]0,00[Ô];
}
}
Agradeço aos que leram o post.
Até mais.
Tópico encerrado , respostas não são mais permitidas