[Resolvido] Jasper - SubRelatório Dentro de SubRelatório

Bom Pessoal,

a situação é a seguinte: tenho um relatório, que possui um sub-relatório1 que possui outro sub-relatório2…

Estou fazendo da seguinte maneira:

No relatório:
possui um sub-relatório1 passando um DataSource ( new JRBeanCollectionDataSource($F{lista1}) ), com uma expressão de sub-relatório ($P{caminho do subrelatório1}) e envia o parametro do sub-relatorio2 ($P{caminho do subrelatório2}) .

No Sub-Relatório 1:
possui dados da lista 1, possui um sub-relatorio2 passando um DataSource ( ( new JRBeanCollectionDataSource($F{objLista1.lista2}) ), com uma expressão de sub-relatório ($P{caminho do subrelatório2})

Segue abaixo a ilustração dos fatos citados:

Relatório e propriedades do sub-relatorio1:

sub-relatorio1 e propriedades do sub-relatório2:

sub-relatório2:

Porém os dados do sub-relatório 2 não estao aparecendo e estão preenchidos…

Alguem tem alguma ideia?? Deu pra entender a dúvida???

pode ser algo do tipo parametro booleano,
e esta condição talvez errada e não esteja imprimindo na tela…

exemplo: printWhenExpression… e ele esteja caindo em false e ficando preso ali…
sendo que tem informação :wink:

Understande-me?
ps.: ficou meio vago o problema ^^

Att. Jonas

Entendi sim, porém não tem nenhuma condição no printWhenExpression…

Eu editei o tópico e coloquei umas imagens pra ver se fica mais claro como eu fiz… Queria saber se é realmente assim que se faz, e se alguem ja fez isso…

Tem certeza que os dados do sub-relatorio2
estão preenchidos?? tente imprimir em fields os campos referentes ao sub-relatorio2 :wink:

se conseguir visualizar os resultados, é algo no seu sub-relatorio2…
se nao conseguir visualizar voce ja sabe oque é :wink:

Att. Jonas

Certeza !! Acabei de fazer o seguinte teste:

$F{programa.listaGrupoTeste}.size()

e imprimiu o valor 1, e realmente tem 1 registro na lista mesmo !! Não sei pq nao está imprimindo…

mas eu acho que tem algo errado por ai…
no seu sub-relatorio(outro) existe como expressão:
$P{PlanoTrabalho_Programas_subreport}

oque existe ali? qual o resultado dessa expressão

pelo que entendi, $F{programa.listaGrupoTeste}.size() faz parte do seu sub-rel 01

att.

sim eu inseri $F{programa.listaGrupoTeste}.size() no sub-relatorio1 e imprimiu o valor 1, ou seja a lista está chegando até o sub-relatório1, mas parece que não está sendo passada para o subrelatório2.

$P{PlanoTrabalho_Programas_subreport} recebe o valor: …/visao/relatorios/planotrabalho/PlanoTrabalho_Programas_subreport.jasper (Caminho do subrelatório1)

$P{PlanoTrabalho_Programas_GrupoTeste_subreport} recebe o valor: …/visao/relatorios/planotrabalho/PlanoTrabalho_Programas_GrupoTeste_subreport.jasper (Caminho do subrelatorio2)

sacou?

Sim, mas oque eu falei foi o seguinte:

imprime o resultado do sub-relatorio2…
para ver se estes dados existem lá…
Ou se não estão chegando até lá…

Sacou? :wink:

Não entendi… Isso eu já estou fazendo, com o $F{nome} no sub2 que é o registro da lista e não está imprimindo nada…

Se vc está falando pra eu imprimir esse valor no subrelatorio1, eu nem sei como fazer isso rsrs, pq ele está em uma lista, não da pra eu botar um “lista.nome”

Cara descobri o problema, e por sinal é muito idiota rsrs

Existe um campo na propriedade dos fields e dos subrelatorios que é: Tipo de Aumento e todos estavam marcados como "Aumento Relativo a Altura da Banda"
e mudei para “Não aumentar”. Ai exibiu o treco haha

Devia estar aumentando e sobrepondo o outro sei lá…

Mas valeu a ajuda cara, brigadão ae !!!

Sim, possívelmente era isso mesmo…

Melhor então né ^^
Ah que isso, não foi nada…

Att. Jonas