Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Busca conforme for digitando


William - TI

Pergunta

Bom dia...

Mais uma vez estou precisando de uma uma ajuda de vocês, estou precisando fazer uma busca como o do google conforme for digitando ele vai me trasendo as opções.

EX.

começo a digitar

Comp

o sistema já vai me trasendo as opções

Computador

Comportamento

Compromisso etc...

Uso mysql, como armazenar isto eu já sei e fazer as buscas tb.

o que eu não sei é qual componente usar para ele ir me listando.

imagino que no edit ou no combobox fica bem complicado...

mais uma vez grato pela ajuda de vocês.

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

se você utilizar um DBCombobox, ele já faz isso ... porém só auto-complete ... agora, pra exibir uma lista abaixo do edit, como no google, acho que você teria que adaptar um componente alinhado com o edit (como por exemplo um grid) e conforme você vai digitando (evento OnKeyUp) você vai filtrando a tabela... porém, não sei se a sobrecarga no banco seria muito grande, já que a cada tecla apertada ele fará uma pesquisa ...

abraços !!!

Link para o comentário
Compartilhar em outros sites

  • 0

O que fiz foi com o grid mesmo como você sugeriu, o que gostaria de saber era se tinha como exibir uma lista abaixo do edit como no google, se tem algum componente etc. mais já procurei bastante e tb não ache nada.

em questão de ficar lento não ficou não a pesquisa ficou instantanea. tb a tabela não é muito grante deve ter uns 25 mil itens..

grato.

Link para o comentário
Compartilhar em outros sites

  • 0
O que fiz foi com o grid mesmo como você sugeriu, o que gostaria de saber era se tinha como exibir uma lista abaixo do edit como no google, se tem algum componente etc. mais já procurei bastante e tb não ache nada.

Use um componente Edit para digitar ... no evento OnChange voce coloca a select para fazer a pesquisa

use um componente DBGrid linkado a sua tabela para ir mostrando os registros encontrados pela select, conforme voce for digitando

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Jhonas como você me sugeriu é da maneira que fiz.

o que estou procurando é como do google quando não digitar nada aparece os botões e tudo mais mais ou menos assim

google_dia_dos_namorados.jpg

e quando começar a digitar ficar mais ou menos assim

google-suggestion.gif

será que existe algo do tipo?

mais uma vez grato pela ajuda.

Link para o comentário
Compartilhar em outros sites

  • 0
Mais uma vez estou precisando de uma uma ajuda de vocês, estou precisando fazer uma busca como o do google conforme for digitando ele vai me trasendo as opções.

o sistema já vai me trasendo as opções

Computador

Comportamento

Compromisso etc...

Uso mysql, como armazenar isto eu já sei e fazer as buscas tb.

o que eu não sei é qual componente usar para ele ir me listando.

imagino que no edit ou no combobox fica bem complicado...

Acho que o que voce esta querendo é algo assim

procedure TForm1.Edit1Change(Sender: TObject);
begin
   Query1.Active := false;
   ClientDataSet1.Active := false;
   Query1.sql.Clear;
   Query1.sql.Append('select * from produtos where DESCRICAO like :DESC');

   Query1.Params[0].DataType := ftString;
   Query1.Params[0].ParamType := ptInput;

   ClientDataSet1.Params[0].DataType := ftString;
   ClientDataSet1.Params[0].ParamType := ptInput;

   ClientDataSet1.Params[0].AsString := Edit1.Text+'%';

   Query1.Active := true;
   ClientDataSet1.Active := TRUE;

   DBLookupComboBox1.DropDown;
end;

No DBLookupComboBox1 voce coloca:

ListSource = DataSource1

ListField = DESCRICAO

KeyField = DESCRICAO

Quando voce estiver digitando no Edit o DBLookupComboBox1 abrirá uma lista conforme o Google

Voce deve adaptar o código as suas necessidades

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Jhonas

o Código que me passou funcionou como queria.

so tenho um problema agora que é quando digito pela perimeira vez ele me lista no DBLookupComboBox1 umans 7 opçoes.

mais se clicar no DBLookupComboBox1 e apagar o que esta excrito e começar de novo ele me lista apenas 1. so que se corre pela seta nele esta todas as opções. so que ele começ a me listar um por vez.

caso não tenha dado para entender eu posto as imagens.

mais uma vez grato pela atenção.

Link para o comentário
Compartilhar em outros sites

  • 0
so tenho um problema agora que é quando digito pela perimeira vez ele me lista no DBLookupComboBox1 umas 7 opçoes.
Se voce olhar na propriedade DropDownRows do DBLookupComboBox1 verá que tem o numero 7 que é o numero de linhas que ele deverá mostrar

mais se clicar no DBLookupComboBox1 e apagar o que esta escrito e começar de novo ele me lista apenas 1. so que se corre pela seta nele esta todas as opções. so que ele começ a me listar um por vez.

O DBLookupComboBox1 não é para escrever nele e sim selecionar uma das opções que apareçe ( que corresponde a um registro especifico da sua tabela )

conforme for digitando ele vai me trazendo as opções.

Voce não disse o que quer fazer depois que escolher a opção ... voce pode listar os registros em outros componentes

ComboBox, ListBox, Memo, etc ... por isso mencionei que voce deve adptar o código as suas necessidades

abraço

Link para o comentário
Compartilhar em outros sites

  • 0

Jhonas não estava conseguindo me expressar, mais você já soluciono minha duvida

DropDownRows do DBLookupComboBox1 verá que tem o numero 7

foi só eu colocar em cada pesquisa DBLookupComboBox1.DropDownRows=10, já resolvel.

em questão que eu disse que estava digitando no DBLookupComboBox1 realmente eu escrevi errado eu estava digitando no edit.

mais agora esta tudo OK. problema resolvido.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...