Nas implementações que eu já fiz, fiz deste jeito:

DMMat.DsLocalidade.DataSet.Filter := FormatStr('(CODTB2FAT >= ''%02d'') AND 
(CODTB2FAT < ''%02d'')',[CodFilial, CodFilial + 1]);
DMMat.DsLocalidade.DataSet.Filtered := CodFilial <> 0;

onde:

DMMat é o Datamodule aonde se encontra o CDS.
DsLocalidade é o DataSource que está vinculado ao CDS.
DataSet é o proprio CDS que no Datasource responde pela propriedade DataSet.
Filter é a propriedade do CDS aonde você irá colocar a expressão SQL 
responsável pela montagem do filtro

CodFilial <> 0 é uma expressão que determina se a proprieade Filter vai ser 
True ou False.

Acho que deu pra entender :)


[]s

Walter Alves Chagas Junior
Projeto e desenvolvimento de sistemas
Telemont Engenharia de telecomunicações S/A
Belo Horizonte - MG - Brasil
[EMAIL PROTECTED]
Fone: (31) 3389-8217 Fax: (31) 3389-8215



-----Mensagem original-----
De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED]
nome de marcio_cbj
Enviada em: terça-feira, 10 de abril de 2007 16:54
Para: delphi-br@yahoogrupos.com.br
Assunto: [delphi-br] Filter dinâmico


Pessoal, alguém já precisou trabalhar com filtro dinâmico do 
ClientDataSet.Filter.
tenho uma aplicação que o usuário faz uma consulta e exibe os dados na 
GRID, com o resultado dessa consulta o usuário pode escolher até três 
campos para fazer o filtro em cima dos valores consultados.
Sei que é só ir colocando AND após uma condição de filtro, mas como 
fazer?

 Os campos que o usuário escolhe eu coloca em outra grid que contém a 
informação a ser consultada.

Deu pra entender? Se alguém puder me ajudar.



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Links do Yahoo! Grupos

 

Responder a