Como chamar subrelatorio ireport na aplicação java ?

16 respostas
M

Não sei como chamar subrelatorio

16 Respostas

S

poste oque você já fez até agora para lhe ajudarmos, assim não sabemos nem por onde começar.

M
try {
           conexao con = new conexao();
           
            con.conectar("jdbc:mysql://localhost:3306/caixa?zeroDateTimeBehavior=convertToNull","root","evolution");
           
          
            String sql = "select * from vendas where COD_VENDA ='"+CODVEND.getText()+"'" ;
            con.ExecutaSQL(sql);
            JRResultSetDataSource relatresult = new JRResultSetDataSource(con.resultset);
            
             servico ser = new servico();
           ser.setServico("ALINHAMENTO");
           ser.setQuantidade("1");
           ser.setValor("30");
        
        lista.add(ser);
        System.out.println(lista);    
            
            HashMap parametros = new HashMap();
            parametros.put("CODVEND",Integer.parseInt(CODVEND.getText()));       
            parametros.put("SUBREPORT_DIR", "src\\relatorios\\"); 
          parametros.put("REPORT_CONNECTION", con.createConnection());
          parametros.put("list", lista);
            JasperPrint jpPrint = JasperFillManager.fillReport("src\\relatorios\\relatoriovenda.jasper",parametros,relatresult);
            JasperViewer jv = new JasperViewer(jpPrint,false); 
            jv.setVisible(true);
            
        } catch (JRException e) {
            JOptionPane.showMessageDialog(rootPane, "erro ao chamar relatorio"+e);
      }

o codigo que chama o relatorio esta assim criei uma lista rapida ai so para mim aprender a chamar o sub relatorio

criei um sub relatorio simples so para aprender a chamalo na aplicação

quando chamo o relatorio me aparece essse erro agora não sei se estou chamando o relatorio certo.

S

você criou um Field list -> $F{list}, mas tem que ser um Parâmetro list -> $P{list}

M

sera que é só isso pelo que vc viu vou testar aqui

S

não sei te dizer se é só isso, mas isso com certeza está errado, declarando um Field o ireport tenta encontrar uma coluna no banco de dados e não encontra por isso o erro que deu. Aliás no banco não, nas fields que você utilizou do banco.

M

mas esse é o caminho para chamar o sub relatorio neh ? to no caminho certo ?
vlew sandro pela ajuda muito obrigado de verdade , eu aprendendo a chamar o sub relatorio o resto eu faço de boa dai vo tentar aqui.

S

há várias formas, essa é uma delas, está no caminho sim.

M

fiquei a noite inteira cara desde ontem ate agora juro por deus , e nao consegui resolver ainda vo ficar acordado ate resolver vlew pela ajuda

S

:fearful: as vezes não adianta, voce bate, bate a cabeça e não resolve, porque a cabeça está cansada e você não raciocina direito, dai dorme e no outro dia resolve facilmente, já aconteceu comigo. pega leve ai.

M

arrumei o parametro list tipo list

coloquei list tipo list no sub relatorio

recebi o parametro list pelo data source expression

me voltou esse erro agora

eu preciso mudar algo nas filds do subrelatorio ?

só para vc ver como estou passando o parametro list na aplicação

o erro que deu aparenta ser na fild servico do sub relatorio ok ? tem alguma ideia é a primeira vez que faço por isso nao tenho ideia muito obrigado fico no aguardo

S

como está este atributo servico na classe? tem que ser exatamente igual ao Field do relatorio

S

reparando vi que você declarou o serviço como uma List?? está certo isso?

oque seria esta Field servico?? é um atributo? ou é uma classe?

S

velho, você colocou tudo como List

Quantidade e valor também, mas eles tem que ser do tipo que você declarou no java.

se é String tem que colocar String, se for double tem que por double, e assim por diante

M

aqui neh agora vi tambem vomudar aqui pra ver

essa é a classe servico so pra vc ver coloquei tudo string so pra ser mais facil e poder chamar o subrelatorio so para aprender

vo mudar os filds do subrelatorio para string aqui pra ver ja te posto o resultado

M

caraaa juro se eu fosse mulher dava pra vc velhooo , deu certo parceiroo :cry: :sleepy: :sob: deu certoo caraaa posso durmir em pazzz agora .
agora sei como funciona ate chegar ao resultadoooo puta que pariu que alegriaaaa vleww mesmoo cara deus abencoe muito vc caraaa vlew vlew vlew vlewww

agora sei como funciona a mecanica do bagulho agora apareceu o resultado sei como fazer o resto muito muito obrigadoo vlewwwww !!!

S

hehehehe ficou feliz mesmo, que bom velho, também fico feliz em ter te ajudado, também sou novato e sei como é quando as coisas não funcionam. Boa sorte ai, que Deus Abençoe você também.

Criado 2 de setembro de 2016
Ultima resposta 2 de set. de 2016
Respostas 16
Participantes 2