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