Ir para conteúdo

POWERED BY:

Arquivado

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

etspaz

[Resolvido] filtrar registros de dataset sem fazer outro select

Recommended Posts

bom dia a todos.

bem eu tenho um dbgrid e um edit para filtrar, inicialmente eu tinha um botão e no onclick fazia um select assim:

'select * from tabtal where upper(nome) like upper(' + #39 + '%' + edit_NomeCliente.Text + '%' + #39 + ') order by nome';

 

funciona, mas o que eu quero é não ter que fazer outra pesquisa no banco diminuindo a performance, um colega disse pra eu usar locate.

CDS_CONTATO.Locate('NOME',Edit_filtranome_contato.Text,[loCaseInsensitive]);

 

esse código aí não faz nada, pois eu quero que a medida que o usuario vai digitando as letras os nomes vão sendo filtrados no grid.

vlw!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Etspaz...

 

O Que você poderia fazer é o seguinte:

 

Utilizar o método Filter no OnChange de seu Edit para que ele vá filtrando os dados... como o exemplo abaixo...

filtro := '';

  If EdtURL.Text <> '' then
	 filtro := filtro + 'URL LIKE ' + #39 + '%' + EdtURL.Text + '%' + #39;

  cdslog.Filtered := False;
  cdsLog.Filter := filtro;
  cdslog.Filtered := true;

 

Mas em minha opinião, seria melhor para a performance retirar o * do SELECT e colocar apenas os campos realmente necessários para a pesquisa e fazer como estava fazendo antes com o Like na query....

 

Acredito que da um resultado muito mais satisfatório e sem perda de performance....

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza hugo, ta resolvido usei o filter no onchnange do edit, ficou assim:

CODE
cds_contato.Filtered := False;

cds_contato.Filter := 'nome like ' + #39 + '%' + Edit_filtranome_contato.Text + '%' + #39 ;

cds_contato.Filtered := True;

ficou perfeito, assim ele vai filtrando conforme o usuario vai digitando, não precisa ficar clicando em nada pra pesquisar vlw mesmo 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.