Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

lynx

pesquisa autocompletar, no grid

Recommended Posts

Seguinte estou com problemas para fazer um "auto completar"..

Em cima de um grid, tenho um campo codigo.

 

 

Gostaria que digitando algo, o grid vai buscando sozinho até encontrar o registro certo.

 

No evendo onchange tem isso.

A 1 vez da certo, mas voltando ele para...

 

with qrypesqcid do  begin	Close;	SQL.Clear;	SQL.Add('select * from CID where upper(DESCRICAO) like :DESCRICAO');	ParamByName('DESCRICAO').AsString:= '%'+UpperCase(edtcid.Text)+'%';	cdspesqcid.Open;  end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

No evento onkeypress adicionei

 

with qrypesqcid do  begin	cdspesqcid.Close;	SQL.Clear;	SQL.Add('select * from CID where upper(DESCRICAO) like :DESCRICAO');	ParamByName('DESCRICAO').AsString:= '%'+UpperCase(edtcid.Text)+'%';	cdspesqcid.Open;  end;

resolveu o problema, mas ficou um pouco lento...

 

Outra coisa, quando eu digito no edit, gostaria que o foco fica-se no DBGrid, tem como ?

 

valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza aew?

 

kra coloque esta sua consulta no DB somente no onChange do Edit ... e no onKeyPress do DBGrid faz assim:

 

procedure TForm1.DBGrid1KeyPress(Sender: TObject; var Key: Char);var  Str: string;begin  Str:= Edit1.Text;  if (key = #8) then  begin	Delete(Str,Length(Edit1.Text),1);	Edit1.Text:= Str;  end  else  begin	Edit1.Text:= Str + key;  end;end;
No onShow do form você passa o foco direto pro DBGRid ... ok

Compartilhar este post


Link para o post
Compartilhar em outros sites

Realmente no onchange, ficou mais rápido.Mas quando eu mando o foco para o dbgrid, não funciona pq o foco vai para o edit.Mas a pesquisa está funcionando, só o foco do grid não funciona, mas os ítems mudam de acordo com o conteúdo digitado.valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mais uma vez obrigado Rodrigo.Eu esqueci de colocar o foco no onchange do edit.Acho que ficou um pouco mais lento, pq minha tabela é gigante.valeuOutra coisa, deste modo não funciona o backspace no edit ? (Para voltar), e o onkeypress do edit ficou doido, não funciona o Enter.valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

opa!

kra dai basta você ir fazendo o tratamento das teclas de acordo com suas nescessidades, pra resolver o esquema do enter faça assimn:

 

var  Str: string;begin  Str:= Edit1.Text;  if (key = #13) then  begin	exit;  end;{... continua o code}

Ok!!!! precisando tamo aew http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.