O bloco de programação Filtrar dados é responsável por realizar filtros OData em uma fonte de dados utilizando operadores lógicos "E" ou "OU". Este bloco funciona em conjunto com o bloco de programação Criar Filtro ou com uma lista de filtros. Para mais detalhes sobre os filtros das fontes de dados, acesse o tópico "Filtros e parâmetros" da documentação do Componente visual fonte de dados.


Figura 1 - Bloco Filtrar Dados


Este bloco pode ser utilizado com fonte de dados offline em aplicações mobile. Para mais informações sobre esse recurso, verifique o tópico "Suporte a dados offline (mobile)" da documentação Componente visual fonte de dados.

Também é possível filtrar fontes de dados a partir do bloco de programação Filtrar.

Compatibilidade

  • Bloco cliente: cronapi.screen.doFilter()
  • Bloco servidor: cronapi.screen.doFilter() - executado a partir da chamada do bloco cliente.

Retorno

Bloco sem retorno.

Parâmetros

Fonte de dados

Seleciona a fonte de dados que será utilizada para realizar a filtragem. Para selecionar uma fonte de dados é preciso vincular um formulário de referência ao arquivo do bloco, acesse o tópico "Propriedades do Blockly" da documentação Bloco de programação para mais detalhes.

  • Posição: 1
  • Inglês: Datasource
  • Tipo: Objeto / Object
  • Exemplo: fonte de dados vinculada a classe User.

Condição

Seleciona os valores "E" ou "OU" a serem utilizados na filtragem. Essa condição só se faz necessária se o filtro for realizado a partir de uma lista de parâmetros. A opção escolhida se aplica a todos os parâmetros adicionados.

  • Posição: 2
  • Inglês: Condition
  • Tipo: Booleano / Boolean
  • Exemplo: "E"
  • Opções:
    • Operador lógico E: serão exibidos apenas os registros que atendem a todos os filtros. Ver Exemplo 2.
    • Operador lógico OU: serão exibidos os registros que atendam a pelo menos uma condição. 

Filtro ou Lista de Filtros

É possível utilizar um único filtro ou uma lista de filtros. 

  • Posição: 3
  • Inglês: Filter or List of filters
  • Tipo: Object ou Array / Object or Array
  • Exemplo: podemos utilizar o bloco Criar filtro ou o bloco criar lista com para adicionar vários filtros

Exemplo 1

A função abaixo realiza uma filtragem a partir da marca do carro, note que como temos somente um parâmetro de busca (marca), não sendo necessário a utilização da condição "E" ou "OU".


Figura 2 - Bloco de programação Filtrar Dados realizando uma busca simples


A fonte de dados utilizada nesse exemplo contém várias características de carros, na figura 2.1 podemos ver a Grade dessa fonte de dados antes de ela ser filtrada.


Figura 2.1 - Dados antes da filtragem


Após a filtragem, perceba que somente cinco registros são exibidos.


Figura 2.2 - Dados depois da filtragem

Exemplo 2

Para a criação de múltiplos filtros, é necessário a utilização do bloco de programação criar lista com, dessa forma, é possível criar filtros de busca por vários parâmetros, como no exemplo da figura 3, que utilizamos a lista para criar um filtro que realiza uma busca baseada em uma combinação dos quatro parâmetros: marcacor, dataCompra e donoUnico


Figura 3 - Bloco de programação Filtrar Dados realizando uma busca com múltiplos campos


O resultado da busca pode ser conferido abaixo. Apesar de existirem vários carros da marca Renault cadastrados na fonte de dados, apenas os de cor preta, comprados com data maior ou igual a "05/09/2033" e pertencentes apenas a um único dono foram encontrados.


Figura 3.1 - Resultado para uma busca com múltiplos campos

Nesta página