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.
- Na Web, a função find vai funcionar para todos os data types, exceto strings;
- 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;
- Não é possível inserir ou remover linhas (rows) da DataWindow;
- Ocorrerão erros na DataWindow Web ao utilizar o retrieve onde são utilizados alias para as colunas;
- QueryMode não é suportado em TreeView dentro de DataWindows;
- 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.