sg.ColCount := 2;O evento OnCellChange é acionado a cada novo caractere introduzido ou removido pelo usuário quando editando o valor de uma célula. Isso exige alguns cuidados para construir a resposta ao evento. Na resposta reproduzida acima, por exemplo, eu testo antes se o Grid está em modo de edição e só faço a validação do texto entrado pelo usuário quando a edição termina.
sg.RowCount := 5;{ Primeiro é a coluna, depois a linha }
sg.Cells [0,0] := 'Módulo';
sg.Cells [1,0] := 'Responsável';
{ comprimento em pixels da coluna 'Módulo' }
sg.ColWidths [0] := 130;{ comprimento em pixels da coluna 'Responsável' }
sg.ColWidths [1] := 240;{ Altura de cada célula }
sg.DefaultRowHeight := 18;{ configuração do Grid - inclui permissão para que o usuário edite valores diretamente no Grid }
sg.Options := [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goEditing];
Ou seja, o evento também é acionado quando o editor perde o foco por qualquer razão e, nesta situação, a propriedade EditorMode do Grid é ajustada para falso, indicando que a célula não está mais em modo de edição. Caso o novo valor digitado pelo usuário seja inválido, uso essa mesma propriedade para forçar que uma nova entrada seja digitada para corrigir o problema.
[ Fonte ]
0 comentários:
Postar um comentário