Hola,
Vas mucho más rápido que yo (Cada vez que reviso tu post, hago una prueba para estar seguro que te estoy diciendo algo que va a funcionar, pero cuando ya lo tengo cambias el post
).
Bueno ... pero ... que bueno que ya tengas funcionando el crosstab, mi ejemplo que iba a mostrar era demasiado largo, desde el view en MySQL.
El código que pusiste lo puedes escribir así,
Código:
$F{mes}.equals( new Long(1) ) ? "Enero" :
$F{mes}.equals( new Long(2) ) ? "Febrero" :
$F{mes}.equals( new Long(3) ) ? "Marzo" : ""
Y yo llamo al reporte así,
Código:
public JasperPrint Reporte03(java.util.Date p_fecini, java.util.Date p_fecfin) throws DataConnectionException, SQLException, JRException {
HashMap<String, java.util.Date> m = new HashMap<String, java.util.Date>();
m.put("p_fecini", p_fecini);
m.put("p_fecfin", p_fecfin);
JasperReport jasperReport = JasperCompileManager.compileReport(Main.getProperty("reportes_filepath") + "/jaspReport03.jrxml");
JasperPrint jasperPrinter = JasperFillManager.fillReport(jasperReport, m, new DataConnection().getConnection());
return jasperPrinter;
}
Y lo muestro así:
Código:
try {
Reportes reportes = new Reportes();
DateFormat df = DateFormat.getDateInstance();
JasperViewer.viewReport(reportes.Reporte03(
df.parse(jTextField1.getText()),
df.parse(jTextField2.getText())),
false);
} catch (Exception ex) {
JOptionPane.showMessageDialog(this,
"Ha ocurrido un error al intentar imprimir el documento.\n" +
ex, getTitle(), JOptionPane.ERROR_MESSAGE);
}
Main.getProperty lee de un archivo de configuracion.
Saludos,