Fwexecview - dados do model não aparecem na tela, como resolver?
Alimento o grid com dados, mas quando abre a tela o ultimo ítem não aparece. Fiz o debug e vi que o modelgrid está preenchido com todos os ítens.
segue parte do meu código:
// carrega o model para a tela produto e fornecedor
oModPrdFor := FWLoadModel("ProdFornec")
oModPrdFor:SetOperation(4) //alteracao pq os dados serao preenchidos automaticamente
oModPrdFor:Activate()
//carrega o browse prodfornec com os dados do xml
oModelGrid:= oModPrdFor:getModel("SA5DETAIL")
//loop para preencher o grid
//Setando a linha atual
oModelGrid:AddLine()
//nLin := Len(oModelGrid:aCols)
oModPrdFor:SetValue("SA5DETAIL", 'A5_CODPRF', xProduto) //cod produto fornecedor
oModPrdFor:SetValue("SA5DETAIL", 'A5_NOMPROD', oDet[nX]:_Prod:_xProd:TEXT)
oModPrdFor:SetValue("SA5DETAIL", 'A5_SITU', "C")
oModPrdFor:SetValue("SA5DETAIL", 'A5_TEMPLIM', 1)
oModPrdFor:SetValue("SA5DETAIL", 'A5_FABREV', "F")
depois preciso executar o refresh antes de chamar o FWExecView
nRet := FWExecView( "Produto Fornecedor" , "ProdFornec", 4, /*oDlg*/, {|| .T. } ,/*bOk*/ , /*nPercReducao*/,;
/*aEnableButtons*/, /*bCancel*/ , /*cOperatId*/, /*cToolBar*/, oModPrdFor )
Boa noite Marco, antes do FWExecView, não existe view para efetuar o refresh, apenas o model.
— Daniel Mendes 12 de Feb de 2020Grato Daniel, tem um problema, eu alimento o grid, mas ele não traz todos os ítens na tela. Pensei que o refresh resolveria, você sabe o que devo fazer para mostrar todos os ítens do grid?
— Marco Nagoa 13 de Feb de 2020Isso é uma inclusão ou alteração? Você cita que os dados serão preenchidos automaticamente, mas você apresenta os dados para orientar uma inclusão? Pois se for alteração, o alias principal da tabela precisa estar posicionado para que o load no activate do modelo traga o registro correto, existem vários pontos importantes.
— Daniel Mendes 13 de Feb de 2020oModPrdFor:SetOperation(4) //eu faço a inclusão das linhas via programa e abro a tela para o usuário alterar.
— Marco Nagoa 08 de Apr de 2020