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é?