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
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 1Fonte de dados
FonteSeleciona a fonte de dados que será
filtrada pelo blocoutilizada 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 | ||
---|---|---|
| ||
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.
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.