Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Filtrar

Permite criar filtros para uma fonte de dados , visando o tratar os dados que serão retornados.

Parâmetros de entrada

NomeTipoDescrição

utilizando expressões OData que utilizam operadores de comparação e lógico.


Image Added

Figura 1 - Bloco Filtrar


Informações

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.

Informações

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


Compatibilidade

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

Retorno

Bloco sem retorno.

Parâmetros

Parâmetro 1

Fonte de dados

Fonte

Seleciona a fonte de dados que será

filtrada pelo blocoParâmetro 2TextoFiltro que será utilizado para tratar as informações da fonte de dados no bloco

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.

Caminho

Recebe uma expressão OData contendo atributos da fonte de dados selecionada e operadores de comparação e lógico

Como o filtro é criado a partir de uma string, é possível utilizar o bloco Concatenar para montar a expressão. É necessário incluir aspas simples (') nos valores de alguns tipos, como String. 

  • Posição: 2
  • Inglês: Path
  • Tipo: Texto / String
  • Exemplo: modelo eq 'Clio' and donoUnico ne false

Características do bloco

Tanto o atributo da fonte de dados quanto o valor comparado devem ser compatíveis. Por exemplo, se o parâmetro atributo for uma data, o seu valor deve ser compatível com o tipo data.

Também é necessário ficar atento com os comparadores OData utilizados em atributos de determinados tipos. No caso dos tipos boleanos, não faz sentido utilizar outros comparadores que não seja Igual (eq) ou Diferente (ne).

Compatibilidade

Image Removed Servidor

Image Removed Cliente

Operadores de comparação OData

Os comandos enviados para o bloco utilizam operadores lógicos do OData, são elesseguintes operadores de comparação podem ser utilizados no bloco:

  • eq: verifica testa se o campo é igual ao valor informado;.
  • ne: verifica testa se o campo é diferente do de valor informado;
  • gt: valida testa se o campo é maior que o valor informado;.
  • lt: verifica testa se o campo é menor que o valor informado;.
  • ge: valida testa se o campo é maior ou igual ao a um valor informado;.
  • le: valida testa se o campo é menor ou igual ao a um valor informado.

Operadores lógicos OData

É possível também construir expressões utilizando os operadores lógicos do OData. São elesOs seguintes valores lógicos podem ser utilizados no bloco:

  • and: operador binário classificado que será avaliado como true se as subexpressãos a esquerda e direta são classificadas como true; as duas subexpressões forem verdadeiras.
  • or: operador binário classificado que será avaliado como true se uma de suas subexpressãos a direita ou esquerda foram classificadas como true;pelo menos uma das subexpressões forem verdadeiras.
  • not: operador unário avaliado como true se sua subexpressão é avaliada como false e vice-versa.
Informações
titleMais informações

Para mais informações sobre os operadores do OData, clique aqui.

Exemplo 

Nesse exemplo, será realizado um filtro na fonte de dados abaixo para que só apareçam na grade as pessoas maiores de 18 anos.

Image Removed

Figura 1 - Pessoas cadastradas na lista

Para isso é preciso selecionar a fonte de dados no bloco e em seguida enviar um comando de filtro que segue os padrões OData. Como em nosso exemplo queremos retornar apenas as pessoas maiores de 18 anos, o comando utilizado será " idade gt 18 ".

Image Removed

Figura 2 - Função que filtra a fonte de dados

O botão "Filtrar" abaixo da grade está chamando o bloco de programação "FiltrarFonte", ao clicar no botão, a grade é atualizada com o novo filtro.

Image Removed

  • esse operador unário inverte o resultado boleano da expressão. 

Exemplo 

A função abaixo utiliza uma expressão OData para filtrar a fonte de dados Carro, exibindo somente os carros da marca Renault que foram comprados com data superior a 16/09/2023.


Image Added

Figura 2 - Função que busca registros baseados em dois parâmetros


A tabela abaixo exibe os dados antes da filtragem.


Image Added

Figura 2.1 - Dados antes da filtragem


Após a filtragem, apenas 2 registros se encaixam na descrição passada no segundo parâmetro do bloco.


Image Added

Figura 2.2

Figura 3

- Resultado do filtro aplicado na fonte de dados


Nesta página 

Índice

Utilização da função

Para utilizar a função é necessário adicionar uma fonte de dados a uma view. Além disso, é preciso vincular o bloco de programação a view onde está a fonte de dados desejada, caso não saiba como fazer o vínculo clique aqui