Boa tarde PEssoal.
Não estou conseguindo de nenhuma forma trazer meus subrelatórios.
Quando eu testo no ireport, ele funciona certinho.
QUando testo da minha aplicação. Ele traz o relatório em branco.
Tenho um relatório PAI, com Três filhos na banda detail. Detail 1, Detail 2, Detail 3.
Todos os três estão vindo em branco. na aplicação.
Já inseri o parametro SUBREPORT_DIR Na aplicação e nada.
Já pesquisei em todos os foruns e nada. Já me indicaram a alterar meu Subreport Express, para ocaminho completo do aplicativo. sem o Subreport_Dir, mais nada funciona.
Alguma ajuda gente?
Segue class que chama o relatório.
[code] public void chama_relatorio(){
try {
conectabanco();
Connection con = null;
con = DriverManager.getConnection(“jdbc:mysql://localhost:3306/doddogao?zeroDateTimeBehavior=convertToNull”,“root”,“senha”);
String sql = "SELECT pedidos.idpedidos
AS pedidos_idpedidos, pedidos.quantidade
AS pedidos_quantidade, "
+ "pedidos.valor_total
AS pedidos_valor_total, pedidos.total_pagar
AS pedidos_total_pagar, "
+ "pedidos.Tipo_Entrega
AS pedidos_Tipo_Entrega, pedidos.Des_Pedido
AS pedidos_Des_Pedido, "
+ "pedidos.adicional
AS pedidos_adicional, pedidos.data
AS pedidos_data, "
+ "cliente.nome_cliente
AS cliente_nome_cliente, cliente.nr_telefone
AS cliente_nr_telefone, "
+ "cliente.endereco
AS cliente_endereco, cliente.email
AS cliente_email, "
+ "cliente.idbairro
AS cliente_idbairro, bairro.fg_estado
AS bairro_fg_estado, "
+ "bairro.municipio
AS bairro_municipio, bairro.bairro
AS bairro_bairro "
+ “FROM bairro
bairro INNER JOIN cliente
cliente ON bairro.idBairro
= cliente.idbairro
"
+ “INNER JOIN pedidos
pedidos ON cliente.idcliente
= pedidos.id_cliente
"
+ “WHERE pedidos.idpedidos
= '”+Integer.parseInt(nr_pedido.getText())+”'group by pedidos.idpedidos
”;
PreparedStatement ps = connection.prepareStatement(sql);
ResultSet s = ps.executeQuery();
JRResultSetDataSource jrRS = new JRResultSetDataSource(s) ;
String report = "C:/Sistema/src/Relatorios/REL_Pedidos.jasper";
Map parametro = new HashMap();
parametro.put("nr_pedido", Integer.parseInt(nr_pedido.getText()));
parametro.put("REPORT_CONNECTION",con);
JasperPrint print = JasperFillManager.fillReport(report, parametro, jrRS);
JasperViewer view = new JasperViewer(print, false);
view.setExtendedState(Frame.MAXIMIZED_BOTH);
view.setVisible(true);
}catch (Exception e){
JOptionPane.showMessageDialog(null,"Erro ao gerar o relatório de pedidos, contate o Administrador!","Erro",JOptionPane.ERROR_MESSAGE);
}
}[/code]