Foco cabeçalho MVC

Senhores, Estou com um problema para montar a tela do print, quando chego no campo Observação, preciso gravar os dados no grid e limpar o cabeçalho e voltar o foco ao campo Produto.

O que não estou conseguindo fazer é a questão do foco.

Usando alguns exemplos que encontrei no fórum, o máximo que consegui e setar o foco ao carregar a tela e se clicar no grid e de volta no cabeçalho o foco vai para o campo Produto, mas nada após incluir um item no grid.

Usei a função abaixo:

//trecho da View
oView:SetAfterViewActivate({|oView| ViewActv(oView)})

Função para posicionar no campo ZA5_PROD, também tentei invocar essa função após incluir a linha, mas sem sucesso.

Static Function ViewActv(oView)

    oView:GetViewObj("ZA5MASTER")[3]:getFWEditCtrl("ZA5_PROD"):oCtrl:SetFocus()
Return

Print da tela, se alguém tiver uma dica de como pode ser feito, agradeço antecipadamente. Capturar.PNG


Edit. 18/03/2021 Consegui resolver

No evento bFocus da FWFormView, adicionei a função para posicionar o campo

Local bFocusZA6    := {|| ViewActv() }
oView:AddGrid("VIEW_ZA6", oStruZA6, "ZA6DETAIL",,{|| ViewActv() })

Também precisei de ajustar a função

Static Function ViewActv()
    oView    := FWViewActive()
    oView:Refresh('VIEW_ZA5')
    oView:GetViewObj("ZA5MASTER")[3]:getFWEditCtrl("ZA5_PROD"):oCtrl:SetFocus()
Return
compartilhar
  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 foco ou faça a sua própria pergunta.