Pesquisa em uma dbgrid

Delphi

04/08/2010

Tenho uma edit para pesquisar em meu banco de dados para excluir meus produtos porem queria que ao ser digitado na edit (evento onchange) ele mostrasse os nomes na dbgrid conforme a barra de pesquisa do google completando os nomes e nao mostrando os outros o codigo da edit usado é este:


DataModule_dados.TblCondicao.Locate('CONDICAO',Vararrayof([EditPesquisa.Text]),[loPartialKey,LocaseInsensitive]);
Daniel

Daniel

Curtidas 0

Respostas

Marcos Iwazaki

Marcos Iwazaki

04/08/2010

e qual o teu problema amigo?
GOSTEI 0
Daniel

Daniel

04/08/2010

e qual o teu problema amigo?
  Na verdade ele nao tem nenhum problema so quero deixa-lo com um visual mais bonito. Espero que vc possa me ajudar.    
GOSTEI 0
Eriley Barbosa

Eriley Barbosa

04/08/2010

DataModule_dados.TblCondicao.Locate('CONDICAO',Vararrayof([EditPesquisa.Text]),[loPartialKey,LocaseInsensitive]); Não utilize Vararrayof, isto é para procura em mais de um campo, seu comando deve ficar assim: DataModule_dados.TblCondicao.Locate('CONDICAO',EditPesquisa.Text,[loPartialKey,LocaseInsensitive]); Só para constar aqui vai um exemplo, utilizando Vararrayof:   tbsenha.locate('usuario;senha',VarArrayOf ([EditNome.text,EditSenha.text]),[]);   Atenciosamente   Eriley
GOSTEI 0
Daniel

Daniel

04/08/2010

DataModule_dados.TblCondicao.Locate('CONDICAO',Vararrayof([EditPesquisa.Text]),[loPartialKey,LocaseInsensitive]); Não utilize Vararrayof, isto é para procura em mais de um campo, seu comando deve ficar assim: DataModule_dados.TblCondicao.Locate('CONDICAO',EditPesquisa.Text,[loPartialKey,LocaseInsensitive]); Só para constar aqui vai um exemplo, utilizando Vararrayof:   tbsenha.locate('usuario;senha',VarArrayOf ([EditNome.text,EditSenha.text]),[]);   Atenciosamente   Eriley
    Nao resolveu ele faz a pesquisa mas mostra todos os cadastros na dbgrid Porem ao inves de limpar a pesquisa, que é o que eu queria, a dbgrid poderia me mostrar os dados (no caso nome da condição) em ordem alfabetica ao inves de ordem de codigo de cadastro.   Tem como? 
GOSTEI 0
Wilson Junior

Wilson Junior

04/08/2010

Utilize as propriedades Filter e Filtered da sua DataModule_dados.TblCondicao.

Filter -> Condição (Filtro). Exemplo: 'Nome = 'teste' OR Apelido = 'teste'';
Filtered -> Ativa/Desativa as condições do Filter.

Espero ter colaborado.
GOSTEI 0
Eriley Barbosa

Eriley Barbosa

04/08/2010

DataModule_dados.TblCondicao.Locate('CONDICAO',EditPesquisa.Text,[loPartialKey,LocaseInsensitive]);   No seu Datamodule, selecione o seu componente TblCondicao e na sua propriedade IndexFieldNames digite CONDICAO.   Mas se sua pesquisa não ta funcionando, deveria tentar de outra forma para ver se resolve o problema:   DataModule_dados.TblCondicao.Filtered := False;
DataModule_dados.TblCondicao.Filter := 'Upper(CONDICAO) like ' + QuotedStr('%' + AnsiUpperCase(EditPesquisa.Text) + '%');
DataModule_dados.TblCondicao.Filtered := True;    Atenciosamente   Eriley
GOSTEI 0
POSTAR