Versão atual:

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.

Versões (2):

Ver a versão formatada

Reordenar Registros Grid em MVC

Comentário

new question