QuantumGrid - filtro rápido via codigo |
Top Previous Next |
|
Como montar filtros pré definidos que poderão ser aplicados com um clique em um botão? Ou, como remover os filtros com outro clique?
A procedure abaixo dá uma idéia:
procedure TImportadorSiTefForm.ppAplicaFiltro(const abEfetuadas: Boolean); var AItemList: TcxFilterCriteriaItemList; begin // impedir que as condições do filtro sejam aplicadas individualmente Dados.DataController.Filter.BeginUpdate; try // limpa o filtro, exibindo todos os registros Dados.DataController.Filter.Root.Clear; if abEfetuadas then begin // gera o filtro '(ESTADOTRANSACAO = ''EFETUADA'') AND ((CODTRANSACAO = ''CMPCTCRM'') OR (CODTRANSACAO = ''CMPCTDEB''))' Dados.DataController.Filter.Root.AddItem(DadosESTADOTRANSACAO, foEqual, 'EFETUADA', 'EFETUADA'); AItemList := Dados.DataController.Filter.Root.AddItemList(fboOR); AItemList.AddItem(DadosCODTRANSACAO, foEqual, 'CMPCTCRM', 'CMPCTCRM'); AItemList.AddItem(DadosCODTRANSACAO, foEqual, 'CMPCTDEB', 'CMPCTDEB'); Dados.DataController.Filter.Active := True; end; finally Dados.DataController.Filter.EndUpdate; end; end;
Fácil, né? |