quarta-feira, 17 de junho de 2009

Dicas para dbgrid

{Trocar o título dos campos

1 – Clique duas vezes sobre o dbgrid, isto fará aparecer uma janela, nesta janela clique com o botão direito do mouse e selecione add fields., todos os campos aparecerão.

2 – Para mudar o nome do titulo de cada campo, selecione o campo desejado e no object inspector vá na propriedade title, clique no sinal de mais que se encontra no lado esquerdo da propriedade, nas opções que aparecerem mude a propriedade caption, o que você escrever aqui, ficará no titulo.

Ordenando por título clicado

1 – No evento ontitleclick, criar uma variável chamada campo, campo então receberá a coluna clicada, para depois a query fazer o order by pelo campo escolhido.}


procedure Tconscli.gradeprocessosTitleClick(Column: TColumn);
var
campo:string;
begin
campo:=column.fieldname; // CAMPO RECEBE O NOME DA COLUNA CLICADA,
application.processmessages; // para considerar algo que aconteça no dbgrid durante a entrada nesta procedure
qrCLIENTES.sql.clear; // LIMPA A QUERY
qrCLIENTES.sql.add('select * from div1 order by '+campo); // ESCREVE O SELECT COM O ORDER BY
if not QRCLIENTES.Prepared then
QRCLIENTES.Prepare;
QRCLIENTES.Open; // ABRE A QUERY COM A ORDEM ESCOLHIDA.
End;
column.Font.color:=clblue; // COLOCAR A COLUNA NA COR DESEJADA {Busca recursiva

1 – Colocar o dbgrid em modo de leitura.

2 – Criar uma variável publica chamada letras no inicio do form;

3 – Clicar no evento onkeypress do dbgrid e fazer isto abaixo:}


letras:=letras+uppercase(key); // acumula as letras digitadas
QRclientes.LOCATE(CAMPO,LETRAS,[loPartialKey]); // Efetua a procura {4 – Para zerar a variável letras, basta escolher um evento de click ou de tecla pressionada e inserir:}


letras:=’’; {Minha dica fica para o evento onkeydown com isto:}


IF (KEY=38) or (key=40) then // avalio se é seta para cima ou para baixo;
letras:='';
end; {e no evento oncelclick colocar isto:}


letras:=’’; {Desta forma quando clicar na célula ou teclar seta para cima ou para baixo a variavel letras zerará.

Trocar o tab pelo enter

no evento onKeyDown do DBGrid:}

begin
case key of
13 : Key := 9;
end;
end;

Nenhum comentário:

Postar um comentário

Postar um comentário