Buscar

Dicas para dbgrid

Código

{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;

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Componentes
Adicionada dia: 12/06/03
Por: Felipe Monteiro
Visualizada: 56291 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009