Quick Tips : Filter e Locate no ClientDataSet

Nesta Quick veja como usar o Filter e Locate do ClientDataSet.

Olá galera, nesta Quick Tips irei mostrar como usar dois recursos que temos no ClientDataSet para localizar e Filtrar registros no mesmo:

Vamos a construção do Exemplo:

Adicione:

procedure TFrmPrincipal.BtnLocalizarClick(Sender: TObject); begin if CDSPadrao.Locate('Nome',EdtConteudo.Text,[loCaseInsensitive,loPartialKey]) then begin ShowMessage('Registro encontrado ' + #13 + 'Codigo : ' + CDSPadraoID.AsString + #13 + 'Nome : ' + CDSPadraoNome.AsString); end else begin ShowMessage('Registro não encontrado!!!!'); EdtConteudo.Clear; EdtConteudo.SetFocus; end; end; CbxFiltrar : onClick procedure TFrmPrincipal.CbxFiltrarClick(Sender: TObject); begin if TCheckBox(Sender).Checked then //Usando Cast onde sei que o Objeto Sender é um TCheckBox, //para verificar se o mesmo esta marcado begin with CDSPadrao do begin Close; Filtered := False; Filter := 'UPPER(Nome) Like ' +UpperCase(QuotedStr('%' + EdtConteudo.Text + '%')); //Funciona como uma Clausula Where do SQL Filtered := True; Open; end; end else begin CDSPadrao.Filtered := False; EdtConteudo.Clear; EdtConteudo.SetFocus; end; end;

O ClientDataSet, é um dos componentes mais poderosos que temos no Delphi, com eles trabalhamos em memória e usando o Filter e Locate, recuperarmos dados muitos mais rápidos do que se fizéssemos uma Query para representar estas funções que encontramos nele, pois como falei os dados estão na memória.

Fico por aqui e até a próxima Quick Tips.

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados