QueryMode

QueryMode

Overview

Navegando pelas complexidades do PowerBuilder, este post oferece um guia detalhado e prático sobre como usar o QueryMode em DataWindows. Com uma explicação clara da sintaxe, exemplos úteis e um olhar atento às limitações e particularidades, é a leitura ideal para quem busca aprimorar suas habilidades de filtragem de dados. Se você se depara frequentemente com o desafio de otimizar consultas ou simplesmente quer explorar mais sobre as capacidades do PowerBuilder, encontrará aqui insights valiosos e dicas práticas.

Quando em QueryMode, a DataWindow permite que o usuário “filtre” os dados utilizando uma clausula Where com o nome das colunas.

Sintaxe:

Dot notation:
dw_control.QueryMode

Describe and Modify argument:
dw_1.Modify(“DataWindow.QueryMode { = value }”)
dw_1.Describe(“DataWindow.QueryMode”)

Destalhes sobre a função!

Appeon: Funciona com limitações.

  1. Na Web, a função find vai funcionar para todos os data types, exceto strings;
  2. Utilizando querymode, as seguintes funções apresentarão diferença de comportamento no PB e no Appeon: InsertRow, DeleteRow, ResetUpdate, RowsDiscard, Update, SetItemStatus, Sort, GroupSort, CopyData, MoveData, GetFullState, SetFullState, GetChanges, SetChanges;
  3. Não é possível inserir ou remover linhas (rows) da DataWindow;
  4. Ocorrerão erros na DataWindow Web ao utilizar o retrieve onde são utilizados alias para as colunas;
  5. QueryMode não é suportado em TreeView dentro de DataWindows;
  6. Na Web, utilizando a função SaveAs não vai restaurar a query;
  • Após utilizar esta função, retrieves subsequentes podem ser utilizados com os novos critérios. Para fazer isso, após definir os critérios, o QueryMode deve ser desligado e a função AcceptText() deve ser chamada. Feito isso, os próximos retrieves utilizarão estes critérios.
  • Não é possível utilizar esta função em DataWindows compartilhadas ou child.
  • Este modo não pode estar ativado no momento de manipular informações nos diversos buffers.

Como utilizar:

Exemplo 01: Recuperando o que foi definido para o QueryMode

string ls_query

ls_query = dw_1.Describe("DataWindow.QueryMode")

Exemplo 02: Ligando o QueryMode

dw_1.Modify("DataWindow.QueryMode=yes")

Argumentos:

  • String informando Yes (liga) ou No (desliga. Padrão.)

Referência:

Dúvidas sobre o artigo? Sugestões? Precisa de ajuda com outra funcionalidade do PowerBuilder? Deixe um comentário.