Filter
Overview
Dando vida aos dados com apenas alguns cliques, este post mergulha no coração das manipulações de DataWindow e DataStore no PowerBuilder através da função Filter. Se você já teve curiosidade sobre como refinar seus dados com critérios específicos ou simplesmente precisa de um refresco sobre o tema, este guia é seu novo melhor amigo. De dicas práticas a explicações detalhadas sobre retornos e argumentos, prepare-se para uma jornada informativa que transformará sua maneira de trabalhar com o PowerBuilder.
Filtras as linhas de uma DataWindow ou DataStore de acordo com o filtro definido na função SetFilter.
Sintaxe:
dwcontrol.Filter()
Retorno:
- 1: sucesso
- -1: erro
- null: se o dwcontrol for nulo.
Destalhes sobre a função!
Appeon: Funciona sem restrições.
- De acordo com o manual da Sybase, o retorno desta função não é utilizado.
- A função Filter faz com que as linhas sejam recuperadas (executa um Retrieve) e depois filtra o resultado.
- Mesmo se a opção Retrieve As Needed estiver habilitada, a função Filter vai recuperar todos os registros e depois aplicar o filtro.
- Filter utiliza os critérios definidos na função SetFilter. Para alterar os critérios, basta utilizar o SetFilter novamente.
- Se a função Filter for chamada sem um filtro, a Datawindow irá recuperar os dados com os parâmetros padrões.
- Filter não tem efeito em DataWindows do tipo Composite.
- Quando a função Filter é chamada em uma Datawindow com Grupos, você precisa utilizar a função GroupCalc novamente, para atualizar os grupos atuais.
Como utilizar:
Exemplo 01: Filtrando uma DataWindow para retornar apenas os valores com ID entre 11 e 34.
long ll_ret
string ls_Filter
ls_Filter = 'id > 10 and id < 35'
ll_ret = dw_1.SetFilter(ls_Filter)
ll_ret = dw_1.Filter()
Exemplo 02: Limpando filtro da DataWindow.
dw_1.SetFilter("")
dw_1.Filter()
Argumentos:
Argumento | Obrigatório | Tipo | Descrição |
---|---|---|---|
dwcontrol | Sim | Datastore/Datawindow Control | Referência para a Datawindow ou Datastore que será filtrada. |
Referência:
Dúvidas sobre o artigo? Sugestões? Precisa de ajuda com outra funcionalidade do PowerBuilder? Deixe um comentário.