Conexao com subrelatorio ireport 3.7.0

oi pessoal esse eh meu primeiro contato com nesse forum

estou tentando a uma semana conectar com sub relatorio… mas ainda nada

ja tente com paramentro mas ainda nada… por favor alguem me ajde :frowning:

veja se vc definiu certinho o dataset do subrelatorio e a query do msm

o iReport tem um passo a passo para inserir um subrelatorio :slight_smile:

realmente acho que o erro esta na definição do dataset… a mensagem q recebo diz que a string e incompativel e algo sobre dataset… como eu poderia definir de maneira correta o dataset do sub… agradeço a atenção!!!

verifique se as propriedades Field Class ou Parameter Class dos parametros estao corretos

se der erro coloca a mensagem que ele gera :slight_smile:

bom… no meu sub fiz o seguinte criei um parametro chamado SUBREL

  • em sua parameter class esta definido como String
  • default value expression esta vazio
  • a query do sub é somente: select *from tbl_composicao

e no meu rel Principal fiz o seguinte crieu um parametro com mesmo no do sub SUBREL

  • a sua parameter class esta definido como String tbem
  • default value expression esta vazio
    *a query do principal esta: select *from tbl_faturamento

inseri o sub no principal e sua propriedade esta da seguinte forma:

  • Subreport expression: “C:\R1.NET\R1.NET\RELATORIOS\rel_teste_subreport2.jasper”
  • Expression class: java.lang.String
  • Connection type: Use a conection
  • Connection Expression: $P{REPORT_CONNECTION}
  • Parameters esta vazio

quando executo no ireport os dados do rel principal e do sub aparecem… porém na aplicação ao executa-la somente os dados do rel principal aparecem… estou tentando chamar principal e sub na aplicação da seguinte forma:

private class Relatorio {
conexaoRelat con = new conexaoRelat();
String relatsub = “c:/R1.NET/R1.NET/relatorios/rel_teste_subreport1.jasper”;
public void cx() {

   try {
        DialogRelatorios viewer = new DialogRelatorios(null, true);
        viewer.setTitle("Relatório de Caixa");
        viewer.setSize(970,650); 
        viewer.setLocationRelativeTo(null);
         
        Map parameters = new HashMap();
        
        con.conecta();        
        con.executeSQL("select *from tbl_faturamento, tbl_composicao ");
        JRResultSetDataSource jrRS = new JRResultSetDataSource( con.resultset );
             
       parameters.put("SUBREL", relatsub); 
        
       
        JasperFillManager.fillReportToFile( "C:\\R1.NET\\R1.NET\\relatorios\\rel_teste.jasper", parameters, jrRS );   
        JasperExportManager.exportReportToPdfFile( "C:\\R1.NET\\R1.NET\\relatorios\\rel_teste.jrprint" ); 
        
        JasperViewer viewe = new JasperViewer("C:\\R1.NET\\R1.NET\\relatorios\\rel_teste.jrprint", false, false);// O segundo false serve para que a janela do relatório fique: DISPOSE_ON_CLOSE 
         
        viewer.getContentPane().add(viewe.getContentPane());
        viewe.setVisible(true);
        viewer.setVisible(true);
        viewe.setVisible(false);
        } catch (Exception erro){     
        JOptionPane.showMessageDialog(null, "Erro = " + erro);     
        }     
}     

esse e o primeiro subrelatorio q tento fazer no ireport… antes fazia cristal report

ops… esqueci de dizer q minha aplicação e desktop… usu netbeans 6.1, bd mysql 5.1.11 e finalmente ireport 3.7.0