RowsMove
Overview
Bem-vindo ao nosso guia passo a passo sobre como aprimorar suas habilidades no PowerBuilder, utilizando a funcionalidade RowsMove! Se você está buscando uma maneira eficaz de mover linhas entre Datawindows ou datastores, ou mesmo dentro de uma mesma Datawindow, este artigo é perfeito para você. Com explicações claras, exemplos práticos e detalhes cuidadosos sobre a sintaxe e o retorno esperado da função, preparamos um conteúdo riquíssimo para ajudá-lo no dia a dia do desenvolvimento. Seja você experiente ou novato, há sempre algo novo para aprender conosco.
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.