Move uma série de linhas (rows) de uma datawindow (ou datastore) para outra. Esta função também pode ser utilizada para mover um range de linhas de um buffer para o outro dentro da própria Datawindow (ou datastore).
Sintaxe:
dwcontrol.RowsMove(long startrow, long endrow, DWBuffer movebuffer, targetdw, long beforerow, DWBuffer targetbuffer)
Retorno:
- 1 – sucesso na operação;
- -1 – em caso de erro;
- null: se algum argumento for nulo;
Destalhes sobre a função!
Appeon: Funciona sem restrições.
- Esta função (ou qualquer manipulação de buffer) só pode ser realizada quando a datawindow não estiver em modo query.
- As linhas movidas são receberão o status de NewModified! na targetdw.
- Se as linhas forem copiadas de um buffer para o outro dentro do mesmo objeto, o PB conseguirá controlar as linhas e o seu respectivo contexto. Exemplo: se você copiar linhas não modificadas para o buffer Delete!, elas serão marcadas para remoção; Todavia, se as linhas forem movidas para outra DataWindow e depois movidas de volta, elas chegarão como NewModified!.
- Esta função aciona os eventos RowFocusChanging e RowFocusChanged apenas quando a linha atual (current row) é afetada. Se apenas os valores da linha forem alterados, os eventos não serão disparados.
- Quando utilizada, esta função não recupera dados para DropDownDataWindows. As linhas são simplesmente inseridas na datawindow alvo.
Como utilizar:
Exemplo 01: Movendo todas as linhas da Datawindow do buffer Delete para o buffer primario, simulando uma função “Undelete”.
long ll_rows ll_rows = dw_1.DeletedCount() dw_1.RowsMove(1, ll_rows, Delete!, dw_1, 1, Primary!)
Argumentos:
Argumento | Obrigatório | DataType | Descrição |
---|---|---|---|
dwcontrol | Sim | DataWindow, DataStore ou DataWindowChild | Nome do controle que contem as linhas (rows) que serão movidos. |
startrow | Sim | long | Numero da primeira linha que deverá ser movida. |
endrow | Sim | long | Número da última linha que deverá ser movida. |
movebuffer | Sim | DWBuffer | DWBuffer onde estão as linhas que serão movidas. |
targetdw | Sim | DataWindow, DataStore, DataWindowChild | Controle que receberá as linhas movidas do dwcontrol. |
beforerow | Sim | long | Valor referente ao ponto em que as linhas serão inseridas. Se o valor for maior que o números de linhas da targetdw, as linhas serão inseridas no final. |
targetbuffer | Sim | DWBuffer | DWBuffer da targetdw que receberá as linhas movidas. |
Referência:
Dúvidas sobre o artigo? Sugestões? Precisa de ajuda com outra funcionalidade do PowerBuilder? Deixe um comentário.
The following two tabs change content below.
Arquiteto de Software e Desenvolvedor Backend (quase Fullstack), geralmente trabalho com C#, PowerShell, Python, Golang, bash e Unity (esse é mais por hobby). Estou sempre buscando algo novo para aprender, adicionando novas ferramentas ao meu cinto de utilidades.
Latest posts by Breno RdV (see all)
- O que é Metaclass e como ela funciona. (#python #dev #metaclass) - janeiro 11, 2023
- Entenda a mágica dos Generators. (#python, #dev, #generator, #iterator) - dezembro 28, 2022
- Ordenando um DataFrame por múltiplas colunas. (#python #pandas #jupyter #dev #data) - agosto 3, 2022
Pingback: Removendo linhas de uma DataWindow ou DataStore – Raccoon Ninja