RowsMove

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:

  • – 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.
Posted in Dev, PowerBuilder and tagged , , , , , , , .

One Comment

  1. Pingback: Removendo linhas de uma DataWindow ou DataStore – Raccoon Ninja

Comments are closed.