Montei um relatorio que funciona bonitinho…desde que eu não utilize resultset para filtrar os resultados !
Ele simplesmente diz que não há paginas ! ou então não consegue achar um campo retornando field not found
O relatorio foi criado com IReport e incorporado a projeto no NetBeans 7.0, seguem as rotinas;
- botão que chama o relatorio
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
try {
String seletor = "Select * from cadastroempresa where cnpj = " + "'" + cnpj.getText() + "'" + "";
//seletor = "Select * from cadastroempresa where status = 'ATIVA'";
System.out.println(seletor);
gRelatorio(seletor,"cadempr.jasper","pegasus");
} catch (JRException ex) {
Logger.getLogger(clientes1.class.getName()).log(Level.SEVERE, null, ex);
} catch (Exception ex) {
Logger.getLogger(clientes1.class.getName()).log(Level.SEVERE, null, ex);
}
}
- metodo que (deveria) imprimir o relatorio:
[code]public void gRelatorio(String seletor,String relatorio, String banco) throws JRException, Exception {
java.sql.Connection con;
con = funcoes.conecta(banco);
ResultSet rs = funcoes.rsf(seletor,banco);
rs.next();
JRResultSetDataSource rrs = new JRResultSetDataSource(rs);
HashMap parameters = new HashMap();
URL arq = getClass().getResource(relatorio);
JasperReport jasperReport = (JasperReport) JRLoader.loadObject(arq);
JasperPrint jp = JasperFillManager.fillReport(jasperReport, parameters, rrs);
JasperViewer jrv = new JasperViewer(jp);
jrv.setVisible(true);
}[/code]
Mais uma informação, se retiro o uso do resultset e faço o link pela conexao ele imprime o relatorio todo, sem falha. apenas que não quero todo, quero pagina por pagina e por isto
estou selecionado pelo cnpj para imprimir cada empresa de uma vez quando for necessario.
Alguem por favor me ajude !