Relacionamento entre dois grids (MVC)

Bom dia!

Gostaria de saber se alguém possui algum exemplo de modo posso estar fazendo o relacionamento entre dois grids no MVC. Da forma que estou tentando, está gerando error log.

Segue parte do meu código:

//Monta os dados do cabeçalho
oModel:AddFields('ModelMaster',,oStruct)
oModel:SetPrimaryKey({'ZTO_FILIAL','ZTO_CODIGO'})
oModel:GetModel('ModelMaster'):SetDescription('Cadastro Principal')

//Monta os dados do grid de verbas
oModel:AddGrid('ModelGrid','ModelMaster',oStruGrid,,/*bPreGrid*/,/*bPreGrid*/,/*bProsGrid*/)
oModel:SetRelation('ModelGrid',{ {'ZRO_FILIAL','ZTO_FILIAL'},{'ZRO_CODIGO','ZTO_CODIGO'} }, ZRO->(IndexKey(1)) )
oModel:GetModel('ModelGrid'):SetUniqueLine( {'ZRO_COMPET'} )
oModel:GetModel('ModelGrid'):SetDescription('Verbas por Competência')
oModel:GetModel('ModelGrid'):SetOptional(.F.)

//Monta os dados do grid de grupo de clientes
oModel:AddGrid('GridGrpCli','ModelGrid',oStruGrpCli,,{ |oModel| fLineOk(oModel) },/*bPreGrid*/,/*bProsGrid*/)
oModel:SetRelation('GridGrpCli',{ {'ZRW_FILIAL','ZRO_FILIAL'},{'ZRW_CODIGO','ZRO_CODIGO'},{'ZRW_COMPET','ZRO_COMPET'} }, ZRW->(IndexKey(1)) )
oModel:GetModel('GridGrpCli'):SetUniqueLine( {'ZRW_GRPCLI'} )
oModel:GetModel('GridGrpCli'):SetDescription('Grupo de Clientes')
oModel:GetModel('GridGrpCli'):SetOptional(.T.)

Segue error log gerado: Cannot find method FWFORMGRIDMODEL:GETWHENFIELDS on FWFORMVIEW:GETWHENFIELDS(FWFORMVIEW.PRW)

compartilhar
  • Giordano, ele está reclamando dos campos da estrutura, como está a sua estrutura?

    FELIPE CAIADO ALMEIDA   17 de Sep de 2019
  • Aparentemente sim, não consegui identificar nada incorreto...

    Giordano Trabach Xavier   17 de Sep de 2019
  • Consegue colocar ai no exemplo ou anexar o fonte?

    FELIPE CAIADO ALMEIDA   17 de Sep de 2019
  • Anexei o fonte e o error log gerado.

    Giordano Trabach Xavier   17 de Sep de 2019
  • Giordano, pode compartilhar o modeldef e viewdef deste seu MVC com dois grids ? Tenho a mesma necessidade e não estou conseguindo realizar! Muito obrigado!

    Edvar W Vassaitis   03 de Nov de 2020
  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!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags advpl mvc fwformgrid ou faça a sua própria pergunta.