Hola ya pude crearlo todo lo mas bien y ejecutarlo perfecto desde ireport ahora cuando voy a llamarlo desde mi programa me salta la siguiente excepcion
Cita: net.sf.jasperreports.engine.JRException: Error loading object from URL : file:/C:/Agustin/Proyectos/SGPTSOFT%20v%202.0/SGPTSOFT/build/classes/Reportes/ListadoTotalHaEmpleadosA%c3%b1o.jasper
at net.sf.jasperreports.engine.util.JRLoader.loadObje ct(JRLoader.java:145)
at Presentacion.VentanaPrincipal.informeEmpleadosMesA ñoActionPerformed(VentanaPrincipal.java:637)
el codigo que utilizo para llamarlo es el siguiente
Cita: String valor = JOptionPane.showInputDialog(null, "Ingrese el valor del año del cual desea realizar el reporte.");
if (valor != null && valor.length() != 0) {
try {
if (Integer.parseInt(valor) < 1990) {
JOptionPane.showMessageDialog(null, "Debe ingresar un año que sea válido (mayor a 1990).", "", JOptionPane.ERROR_MESSAGE);
} else {
try {
Connection conexion = ConexionBD.getInstancia().getConexion();
JasperReport report = (JasperReport) JRLoader.loadObject(getClass().getResource("/Reportes/ListadoTotalHaEmpleadosAño.jasper"));
Map parameters = new HashMap();
parameters.put("imagen", getClass().getResource("/Imagenes/logo.PNG").toString());
parameters.put("año", Integer.parseInt(valor));
JasperPrint print = JasperFillManager.fillReport(report, parameters, conexion);
JasperViewer jviewer = new JasperViewer(print, false);
jviewer.setVisible(true);
} catch (JRException ex) {
ex.printStackTrace();
JOptionPane.showMessageDialog(null, ex.getMessage());
}
}
} catch (NumberFormatException ex) {
JOptionPane.showMessageDialog(null, "El valor ingresado no corresponde a un número.", "", JOptionPane.ERROR_MESSAGE);
}
}
lo curioso es que recompile el reporte pero le borre el crosstab y me lo llama asi que hay algun problema con el mismo
sabes que puede estar pasando?
pd: el problema anterior es porque el crosstab tiene que estar en el summary y no en el detail
saludos y gracias de nuevo