Reordenar Registros Grid em MVC

Olá,

Gostaria de permitir que o usuário determine a ordem dos registros em um grid em MVC (funcionalidade igual à alterar a ordem dos campos no Configurador), como faço para dar o "refresh" para assim que o usuário alterar a ordem já refletir na tela.

Estou anexando a parte do código de reordenar os registros.

User Function ORDEM()
    Local   aSaveLines  := FWSaveRows()
    Local   oModel      := FwModelActive()
    Local   oModelZF2   := oModel:GetModel("ZF2DETAL")
    Local   oView       := FwViewActive()
    Local   nLinha      := 0
    Local   cItem       := "01"
    Local   nLinAlt     := 0
    Local   cItemAlt    := ""

    // Informações da linha alterada
    nLinAlt     := oModelZF2:GetLine()
    cItemAlt    := oModelZF2:GetValue("ZF2_ITEM")

    For nLinha := 1 To oModelZF2:Length(.T.)

        // Alterar se não for a linha alterada e não estiver deletada
        If !(nLinha = nLinAlt) .And. !oModelZF2:IsDeleted()

            // Posiciona na linha do grid e soma mais um se o valor for igual
            oModelZF2:GoLine(nLinha)
            If cItem == cItemAlt
                cItem := Soma1(cItem)
            EndIf

            // Atribui o valor para o modelo e soma mais um
            oModelZF2:LoadValue("ZF2_ITEM", cItem)
            cItem := Soma1(cItem)
        EndIf
    Next

    // Reposicionar na linha anterior
    FWRestRows(aSaveLines)
    oView:Refresh()

Return .T.
compartilhar
  • Eu ainda não precisei fazer. Na teoria você teria que reordenar os registros da área selecionada, depois redesenhar a tela, que eu acho que vai ser o mais difícil.

    Clodoaldo Ribeiro   25 de Aug de 2021
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do TOTVS DevForum!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags mvc grid ou faça a sua própria pergunta.