"Las cicatrices nos recuerdan que el pasado fue real."
Hannibal Lecter
miércoles, 16 de noviembre de 2011
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.
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.
martes, 8 de marzo de 2011
Fijar el ancho de columna de un JTable por codigo
Aporte de Matias Varela :
Para definir el ancho fijo de una columna:
Suponiendo que tablaDeIngresos es el Jtable:
// le establezco el ancho
tablaDeIngresos.getColumnModel().getColumn(0).setWidth(100);
// hago que no puede cambiar
tablaDeIngresos.getColumnModel().getColumn(0).setResizable(false);
Espero sirva. Hay que tener en cuenta que lo anterior va después del
tablaDeIngresos.setModel(dtm);
Suponiendo que tablaDeIngresos es el Jtable:
// le establezco el ancho
tablaDeIngresos.
// hago que no puede cambiar
tablaDeIngresos.
Espero sirva. Hay que tener en cuenta que lo anterior va después del
tablaDeIngresos.setModel(dtm);
That's all
martes, 25 de enero de 2011
Poblar/llenar una Grilla o JTable con un Resultset
Holas, siempre olvido como hacerlo... asi que mejor lo pongo aqui y si a alguien mas le sirve excelente.
El JTable se llama "tblDatos", este ya lo hemos editado con el editor visual de columnas en Netbeans (V6.9.1) (click derecho sobre el JTable -> Table Contents.. -> Columns) y hemos agregado o quitado las que necesitamos , asi como los Titulos y el tipo de contenido.
El codigo seria el siguiente:
===========================================================
SQL="select * from clientes";
rst=stmt.executeQuery(SQL);
if(rst!=null)
{
int f=0;
((DefaultTableModel) tblDatos.getModel()).setRowCount(0);
while(rst.next())
{
((DefaultTableModel) tblDatos.getModel()).setRowCount(tblDatos.getRowCount()+1);
tblDatos.setValueAt(rst.getString("codcliente").toString(),f,0);
tblDatos.setValueAt(rst.getString("cliente"),f,1);
tblDatos.setValueAt(rst.getDouble("monto"),f,2);
f++;
}
lblTotal.setText("TOTAL CLIENTES. => "+String.valueOf(f));
rst.close();
===========================================================
That´s all.
bye
El JTable se llama "tblDatos", este ya lo hemos editado con el editor visual de columnas en Netbeans (V6.9.1) (click derecho sobre el JTable -> Table Contents.. -> Columns) y hemos agregado o quitado las que necesitamos , asi como los Titulos y el tipo de contenido.
El codigo seria el siguiente:
===========================================================
SQL="select * from clientes";
rst=stmt.executeQuery(SQL);
if(rst!=null)
{
int f=0;
((DefaultTableModel) tblDatos.getModel()).setRowCount(0);
while(rst.next())
{
((DefaultTableModel) tblDatos.getModel()).setRowCount(tblDatos.getRowCount()+1);
tblDatos.setValueAt(rst.getString("codcliente").toString(),f,0);
tblDatos.setValueAt(rst.getString("cliente"),f,1);
tblDatos.setValueAt(rst.getDouble("monto"),f,2);
f++;
}
lblTotal.setText("TOTAL CLIENTES. => "+String.valueOf(f));
rst.close();
===========================================================
That´s all.
bye
Suscribirse a:
Entradas (Atom)