iReport + JRBeanCollection

Não entendi direto seu problema. Você quer fazer um relatório master-detail, é isso?

Acredite se quiser, o melhor jeito de fazer isso é passar uma Collection de Alunos que tenham referência para seu Colegio. A outra saída é trabalhar com sub-relatórios, mas eu não recomendo.

Será que se voce criar um sub-relatorio e passar para este sub-relatorio esta sua segunda collection não funciona nao? Só que aí voce teria que transformar a collection em um JRDataSource que poderia ser feito assim JRBeanArrayDataSource(collectionAlunos.toArray());

[quote=New__Radical]Mais e se alunos tiver uma List de cadeiras que ele faz? E se dentro dessas cadeiras tiverem outras List?

Por que vc não aconselha usar subrelatórios?[/quote]

Fica bem confuso, é ruim de visualizar, fazer totalizações parciais e acumulados etc. De verdade, o design do Jasper favorece SQL, não beans. Pelo menos por enquanto, pra casos como esse, é mais fácil você criar uma classe para o relatório que represente o último filho no nível de profundidade do teu agrupamento.

Se você resolver usar sub-relatórios, à medida que a complexidade do relatório aumentar você vai entender :slight_smile:

Você pode criar um outro JRDataSource a partir da List e passar para o sub-relatório, mas, acredite em mim, será uma solução muito pior.

Blz. Mas como seria isso?
Como eu setaria esse outro JR?
[/quote]

Bem, agora estou sem a ferramenta aqui, mas quando você cria um subrelatório tem uma textarea em uma das abas que permite que você digite a expressão que vai retornar o seu relatório. Você vai precisar usá-la pra isso.

Já tá começando a sentir a dificuldade? :wink:

Estou passando uma collection para o iReport e está tudo blz.

O problema é que agora eu tenho que dentro desta colection, eu tenho um atributo do meu bean que é uma collection.

Tenho que organizar os dados como se fosse grupos. Como que eu vou fazer para percorrer todos os elementos da segunda collection?

Isso!

Um colégio, vários alunos.
Imprimir o nome do colégio, e todos os seus alunos.

Estou passando uma collection de beans colegios.
Dentro de colégio, existe um List de alunos.

Como fazer para imprimir todos os alunos?

Espero que tenha ficado mais claro.

Mais e se alunos tiver uma List de cadeiras que ele faz? E se dentro dessas cadeiras tiverem outras List?

Por que vc não aconselha usar subrelatórios?

Eu iria criar um subrelatório e passar para este, um parametro.
Esse parametro seria uma List.

Eu iria no subrelatório, adicionar parametro, tipo do parametro??? Nâo tem Collection, List, …

Eu poderia sera o DataSource do subreport???
Como?

Blz. Mas como seria isso?
Como eu setaria esse outro JR?

[size=5]Achei muito estranho o iReport não dar suport nativo a isso.[/size]