sábado, 24 de marzo de 2012

Frase 15

"No tema al fracaso, no existe; solamente existe el aprendizaje que le lleva al exito"
Adhir Uscategui

miércoles, 16 de noviembre de 2011

Frase 14

"Las cicatrices nos recuerdan que el pasado fue real."
Hannibal Lecter

Cambiar coma por punto decimal en IReport/JasperReport

Bueno, despues de tiempo compartire algo, el problema es cambiar la coma decimal por punto decimal en un campo numerico en un reporte Jasper. IReport y Jaspercompiler toman por default el "locale" del sistema pero tambien se puede forzar a que sea diferente.

En IReport, si quieren q el punto sea el separador decimal y la coma el separador de miles, deben entrar a Herramientas->Opciones->IReport, en la ficha "Compilation and Execution" cambiar el valor de "Report Locale", para mi caso use "Ingles (Estados Unidos)" y lito se compila y funciona.

Ahora, mis reportes los compilo y muestro desde un jsp, alli lo que se debe hacer es pasar un parametro indicando el "locale". Para esto primero agregamos el "Import" respectivo en la cabecera:

<%@page import="net.sf.jasperreports.engine.JRParameter"%>

y luego agregamos el parametro antes de compilarlo, quedando algo asi:

Map parameters = new HashMap();
parameters.put("ID", (String)request.getParameter("nro_id"));

parameters.put(JRParameter.REPORT_LOCALE, Locale.US);

JasperReport report = JasperCompileManager.compileReport(reportPath);
JasperPrint print = JasperFillManager.fillReport(report, parameters, ConnrsProyectos);

Ok, espero a alguien mas le sirva.