Criei meu relatório no iReports, o qual chama mais outros 2 sub relatórios, porém dentro do iReports tudo funciona corretamente.
Quando chamo esse relatório mestre-detalhe pela minha classe Java, eu não tenho retorno dos sub relatórios, é como se eles não estivessem retornando em branco.
Alguém sabe o que pode estar rolando? Já olhei em milhares de tutoriais e nada parece que funciona.
Estou utilizando essa classe simples, não sei se está correta. Se alguém pude me ajudar.
[code]package Relatórios;
import java.util.HashMap;
import Conexao.ConexaoServicos;
import java.util.Map;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRResultSetDataSource;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.util.JRLoader;
import net.sf.jasperreports.view.JasperViewer;
public class relResultados_Contrato
{
ConexaoServicos con = new ConexaoServicos();
JRResultSetDataSource jrRS;
public relResultados_Contrato(Integer contrato, Integer mes, Integer ano)
{
try
{
con.conecta();
con.executeSQL("SELECT contrato.`id_Contrato` AS contrato_id_Contrato, orcamento.`Descricao` AS orcamento_Descricao, cliente.`Nome_Cliente` AS cliente_Nome_Cliente FROM `orcamento` orcamento INNER JOIN `contrato` contrato ON orcamento.`id_Orcamento` = contrato.`orcamento_id_Orcamento` INNER JOIN `cliente` cliente ON orcamento.`cliente_id_cliente` = cliente.`id_cliente` WHERE id_Contrato = '"+contrato+"' ");
jrRS = new JRResultSetDataSource(con.resultset);
Map<Object, Object> parametros = new HashMap<Object, Object>();
parametros.put("SUBREPORT_DIR" , "C:/Projeto/relatorio/");
parametros.put("Contrato", contrato);
parametros.put("Mes", mes);
parametros.put("Ano", ano);
JasperReport jasperReport = JasperCompileManager.compileReport("relatorio/relResultadosGeral.jrxml");
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parametros, jrRS);
JasperViewer.viewReport(jasperPrint, false);
}
catch (JRException ex)
{
ex.printStackTrace();
}
}
public static void main(String args[]) {
new Relatórios.relResultados_Contrato(6, 11, 2011);
}
}[/code]