Restaurar a posição da Grid MVC

Olá Pessoal, tenho uma tela em MVC modelo 2 cabeçalho e Grid. tenho uma função que aplica um filtro nos campos da Grid.

Exemplo: se o campo A está vazio, ele posiciona na primeira linha da Grid.. a pergunta é como faço para restaurar a posição, a ordem correta da Grid, depois que fiz a aplicação do filtro.

Essa mesma função do filtro, tem um botão "Limpar Filtros", onde ela deve fazer esse trabalho de restaurar a Grid no seu "padrão" inicial.


/*/{Protheus.doc} Limp
  Limpa a seleção do CheckBox
@type function
@version 1.0 
@author Eduarda Menezes
@since 06/12/2022
@return lCheck, retorna lCheck como nulo, para a seleção continuar múltipla.
/*/
User Function Limp()
    Local cCSS        := "QPushButton { background-color: #f4f4f4}"
    lOCAL oModel     := FwModelActive()
    Local oView      := FWViewActive()
    Local oModelGrid := Nil
    Local aSaveLines := FWSaveRows()

    oModelGrid:= oModel:getModel("CABEC_ITENS")

    oModel:deActivate()
    oModel:activate()

    oView:refresh("CABEC_ITENS")

    FWRestRows(aSaveLines)

    lCheck := .F.

    oCheck1:CtrlRefresh()
    oCheck2:CtrlRefresh()
    oCheck3:CtrlRefresh()
    oCheck4:CtrlRefresh()
    oCheck5:CtrlRefresh()

    oBtnFil:SetCSS(cCSS)
    lCheck := Nil
return lCheck

Essa Função Restaura, porém eu perco os dados preenchidos pelo usuário depois de desativar e ativar o oModel.

Poderia informar qual a lógica está sendo usada na aplicação do filtro? Se possível anexe o código do programa.

Olá Giordano, atualizei a pergunta com o fonte.

Consegui restaurar a tela da seguinte forma. Essa Função Limpa o objeto oCheck, da Classe TCheckBox, limpo a seleção das caixinhas, e restauro a Grid na posição Inicial.


/*/{Protheus.doc} Limp
  Limpa a seleção do CheckBox
@type function
@version 1.0 
@author Eduarda Menezes
@since 06/12/2022
@return lCheck, retorna lCheck como nulo, para a seleção continuar múltipla.
/*/
User Function Limp()
    Local cCSS       := "QPushButton { background-color: #f4f4f4}"
    Local oModel     := FwModelActive()
    Local oView      := FWViewActive()
    Local oModelGrid := Nil
    Local nLinha

    oModelGrid:= oModel:getModel("CABEC_ITENS")

        For nLinha := 1 To oModelGrid:Length()

            oModelGrid:GoLine(1)

        Next nLinha

    oView:refresh("CABEC_ITENS")

    lCheck := .F.

    oCheck1:CtrlRefresh()
    oCheck2:CtrlRefresh()
    oCheck3:CtrlRefresh()
    oCheck4:CtrlRefresh()
    oCheck5:CtrlRefresh()
    oBtnFil:SetCSS(cCSS)

    lCheck := Nil

Return lCheck