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