Grid MVC Refresh

Olá Yenny, obrigado por seu comentário. Mas no caso, a MATA415 não tem GRID MVC, é uma GetDados, então não dá pra usar essas funções que resolveram seu problema.

Olá Yenny, estou desenterrando este tópico só para agradecer. ‘GETDREFRESH()’ resolveu meu problema com tela de cadastro de dados complementares dos produtos. Valew!!

Consegui resolver da seguinte forma:

Buscar as linhas visíveis na browse apresentada na tela, tem uma propriedade que é aVisibleReg, que mostra a linha de todos os registros que estão em tela, assim você pega o primeiro registro apresentado e antes do refresh posiciona naquele registro.

O cursor vai posicionar lá no topo, no entanto as linhas apresentadas não serão reposicionadas.


Static Function MarcaLinha()
    Local oModel := FwModelActive() //Busca o modelo de dados ativo
    Local oView := FwViewActive() //Busca o modelo de visualização ativo
    Local oGrid := oModel:GetModel('ITENS') //Busca a Grid de dados que vai ser atualizada
    Local oBrowse := oView:GetViewObj('VIEWITE')[3]:oBrowse //Busca o Browse que precisa receber o Refresh

    oGrid:SetValue('ZBL_MARK', !oGrid:GetValue('ZBL_MARK')) //Marca o registro
    oGrid:GoLine(oBrowse:aVisibleReg[1]) //Posiciona a Grid na primeira linha visível do browse
    oView:Refresh() //Atualiza apenas os dados da Grid

Return