Painel MVC com Grid navegável

Estou precisando montar um painel em MVC, onde gostaria de apresentar 3 Grids. A primeira grid é a tabela Pai (ZJ0). A segunda (ZJ2) e terceira (ZJ3) são tabelas filhas. Ao navegar pelas linhas da tabela pai (ZJ0), gostaria que apresentasse os registros relacionados da segunda e terceira tabela em suas respectivas grids. Não sei se é possível, já tentei de várias formas, mas não consegui apresentar a primeira grid contendo mais de um registro. Se alguém já tiver uma solução, eu agradeceria muito.

Desde já obrigado,

Manoel Filho

Boa tarde Manoel, é possivel sim

Alem de criar os grids no model e no view vc tem que usar o comando abaixo, segue exemplo


oModel:SetRelation("ZAEDETAIL",{{"ZAE_FILIAL",'xFilial("ZAE")'},{"ZAE_NUMBOR","ZAD_NUMBOR"}},ZAE->(IndexKey(1)))

No meu caso a ZAE é o item, e a ZAD é o cabeçalho

Antes de mais nada, obrigado Felipe.
Sim, eu uso o SetRelation e estou criando os grids no model e na view.
O que não estou conseguindo fazer é que na primeira Grid (ZAD no seu caso) apresente todos os registros da tabela (ou mais de um, de acordo com filtro). Aparece apenas um registro.

Grato,

Manoel Filho

Bom dia a todos. Consegui resolver o problema. Como a minha primeira grid era a minha tabela principal, precisei criar uma Master(AddFields) com um arquivo de trabalho na Model para que a relação acontecesse. Segue parte do fonte:

Local oStruZJ0g := FwFormStruct(1, "ZJ0") Local oStruZJ3 := FwFormStruct(1, "ZJ3") Local oStruZJ2 := FwFormStruct(1, "ZJ2") Local oStruTmp := oModelTmp:GetModel()

oModel:AddFields("ZJ0MASTER",,oStruTmp,,,{|| LoadTmpDados() }) oModel:AddGrid("ZJ0DETAIL", "ZJ0MASTER", oStruZJ0g) oModel:AddGrid("ZJ3DETAIL", "ZJ0DETAIL", oStruZJ3) oModel:AddGrid("ZJ2DETAIL", "ZJ0DETAIL", oStruZJ2)

oModel:SetPrimaryKey({})

// DEFINE A RELAÇÃO ENTRE OS SUBMODELOS oModel:SetRelation("ZJ0DETAIL", {{"ZJ0_FILIAL", "FwXFilial('ZJ0')"} }, ZJ0->(IndexKey( 1 ))) oModel:SetRelation("ZJ3DETAIL", {{"ZJ3_FILIAL", "FwXFilial('ZJ3')"}, {"ZJ3_PREORD", "ZJ0_PREORD"}}, ZJ3->(IndexKey( 1 ))) oModel:SetRelation("ZJ2DETAIL", {{"ZJ2_FILIAL", "FwXFilial('ZJ2')"}, {"ZJ2_PREORD", "ZJ0_PREORD"}}, ZJ2->(IndexKey( 1 )))

Agradeço todos, e principalmente ao Felipe Caiado e Vinicius Gati