Tchaco,
Obrigado pela paciência.
Veja só, ainda não entendi direito. Veja minha implementação:
Parte Java:
[code]JasperDesign desenho;
try {
desenho = JRXmlLoader.load("relatorio_mestre.jrxml");
JasperReport relatorio = JasperCompileManager.compileReport(desenho);
JRBeanCollectionDataSource jDataSource = new JRBeanCollectionDataSource(getDataList()); // getDataList retorna uma lista de Alunos
JasperPrint impressao = JasperFillManager.fillReport(relatorio, getParameters(), jDataSource);
JasperExportManager.exportReportToPdfFile(impressao, destFileName);
} catch (Exception e) {
e.printStackTrace();
}[/code]
Daí, no meu relatorio_mestre eu defino o classpath para a pasta bin do projeto.
Em seguida, em “Edit Report Query”, na aba “JavaBean DataSource”, defino o class name como o caminho completo da minha classe Aluno, e escolho os atributos que eu quero que apareça no meu relatório.
Até aqui, tudo bem… Eu consigo ler os atributos no relatório pai.
Entretanto, eu não consigo ler esses atributos num sub-relatório.
Estou usando o iReport 3.7.6
Não sei sei existe outra forma de passar esse bean para o relatório… essa é a única forma que eu sei.
Na criação do sub-relatório, eu faço esses passos:
1- Escolho a opção “Create a new report”
2- Escolho o layout Blank A4 (irrelevante para o problema)
3- Escolho “Empty datasource”
4- Fields - não aparece nenhum para escolher
5- Group - nenhum
6- Store the directory name in a parameter
7- Connection: Acho que é aqui que o “bixo pega”. Estou escolhendo “Use a empty datasource”, mas, pelo que eu entedi, você falou para escolher “Use JRDataSource Expression” e definir a expressão “new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{listaBean})”, não é isso?
Mas não rola não.
Se puder analisar a situação, agradeço mais ainda.
abraço.