28/03/2010


A proposta mais básica do String Grid é exibir textos e, para tanto, temos que colocar os textos desejados na propriedade Cells. Essa é uma propriedade indexada pela linha e coluna da célula de modo que é possível associar um valor para cada combinação de linha/coluna.


sg.ColCount := 2;
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];
 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.


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