Fórum DBGRID #204923
07/01/2004
0
Por favor me ajudem em mais esta...
Eu tenho um form com um DGGRID e um edit onde eu faco uma pesquisa aproximada em uma tabela atraves do evento ONCHANGE do Edit...
Como faco para colocar o foco no DBGRID qdo eu pressionar as teclas seta para baixo e seta para cima ele role uma linha para cima ou para baixo np GRID?
Por exemplo:
Eu digito no Edit ´MARIA D´. No GRID aparece todos os clientes que comecam com Maria, eu quero pressionar seta para baixo ou para cima e o foco va direto para o GRID e role uma llinha para cima ou para baixo no GRID...
Certo que serei ajudado, desde ja agradeco...
Valeu..
Igor
Curtir tópico
+ 0Posts
07/01/2004
Fórum Vini
coloque esse código no evento onKeyDown do Edit( ou do DbEdit ):
if (Key = VK_UP) then begin ClientDataSet1.Prior; Key:= 0; end; if (Key = VK_DOWN) then begin ClientDataSet1.Next; Key:= 0; end;
Espero ter ajudado.
Vinicius.
Gostei + 0
08/01/2004
Igor
Deu certo mesmo...
Gostei + 0
08/01/2004
Marco Salles
if (Key = VK_UP) then begin ClientDataSet1.Prior; Key:= 0; end; if (Key = VK_DOWN) then begin ClientDataSet1.Next; Key:= 0; end;
Vini. Tudo Indica Que ´Deu Certo Mesmo´ Como Nosso Amigo Colocou. Mas Gostaria Que Esta Dica fosse Mais Geral. Por Ser Uma Dica Interrresante. Ao Ler o Código Tive Uma Pequena Dúvida. A Instrução
[color=red:47b8176ec5]ClientDataSet1[/color:47b8176ec5] Não Será Identificada. Isto é Não Sendo Identificada, Não Roda, e Não Compila, Não Executa etc... [color=red:47b8176ec5]Esta Istrução Veio De Onde :?: [/color:47b8176ec5]
Gostei + 0
08/01/2004
Marco Salles
Gostei + 0
12/01/2004
Igor
Qdo eu pressiono Seta p/ cima volta um registro no DBGRID, tudo bem ...
Só que tbem no Edito o ponto de inserção volta uma posição também, ficando no meio da string que eu digitei...
Como faço p/resolver isso galera?...
Valeu...
Gostei + 0
13/01/2004
Marco Salles
o Valor De Zero(Key:=0);Agora Para Resolver De Fato o Seu Problema V.c Deve Passar Mais Informações Do Seu Código, Os Eventos Associados Etc...Por Exemplo, Suponha Um Form Com Uma Tabela, Um DbGrid,Um DataSource,Um Edit.Com Os Seguintes Eventos.No Evento OnCreate Do Form Fazemos a Indexação Da Tabela.No Evento OnChange Do Edit, Fazemos a Pesquisa Aproximada Usando
Table1.FindNearest([Edit1.Text]);E No Evento onKeyDown dO Edit1 Escrevemos O Código Que o Vini Sugeriu.Com Esses Eventos e Com Esses Códigos,Posso Garantir Para V.c, Que O Ponto De Inserção Não Volta.
Então Meu Amigo De Duas Uma, Ou Seu Projeto Tem Eventos Ou Códigos Que Deverão Serem Mencionados Para Podermos Esclarecer Esta Penimba Ou V.c Esta Digitando Alguma Coisa Errada
Gostei + 0
17/01/2004
Igor
Eu estava esquecendo justamente da instrução ´Key:=0;´
Deu certo...
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)