Filter

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:

ArgumentoObrigatórioTipoDescrição
dwcontrolSimDatastore/Datawindow ControlReferê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.