| |||
Agradecimiento Este foro me ha sido de mucha ayuda, quiero agradecer a cada uno por que cada duda despejada me sirvio para cumplir mi objetivo, sin embargo seguire indagando y ayudando dentro de mis posibilidades. GRACIAS!!
__________________ ;-) |
| |||
iReport: Total de paginas de un reporte Hola, estoy haciendo reportes con el iReport 0.5.0 y estoy teniendo problema para averiguar el valor de la cantidad total de páginas del reporte(ej: para poner “Pagina 1 de 4”, “Pagina 2 de 4”, etc), pensé q venia como una variable por defecto, pero el problema es que probé con todas las que trae pero ninguna tiene ese valor, estas son las variables que me trae y que probé: PAGE_NUMBER - da el nº actual de página COLUMN_NUMBER - da el nº de columna REPORT_COUNT - da la cantidad de rows del reporte PAGE_COUNT - da la cantidad de rows de la página COLUMN_COUNT - da la cantidad de rows de la columna Supongo q esto es algo comun con lo q de alguna forma secilla se debe poder extraer la cantidad total de paginas, ya q no creo q halla q calcularlo a mano, no??? Desde agradezco sus aportes. Un saludo. |
| |||
Respuesta a paginado y pregunta de filtro dinamico Hola a todos!!! En primer lugar felicitaros por este foro tan bueno de jasper report / ireport. Bueno pues quiero participar resolviendo una duda de un compañero que quería paginar los reports, poniendo "página 1 de 5", pues bueno, la solución es la siguiente: Hay una variable por defecto del ireport que se llama PAGE_NUMBER, esta variable tiene algunos atributos modificables: - Para obtener la pagina actual debeis poner en el atributo "evaluation time" ==> now. - Para obtener el conjunto total de páginas que tiene el informe debereis establecer el atributo "evaluation time" ==> report |
| |||
Filtro dinamico en la consulta Hola a todos!!! Mi objetivo ahora es poder establecer un filtro desde una pagina .jsp, y en funcion de los valores que quiera filtrar el usuario, crear un predicado adecuado a ese filtro para que muestre esos registros en el informe. El problema es que no se como hacer que el predicado en el ireport sea dinamico. De hecho creo que no se puede, pero alguien aporto una idea importante, y es poner en la consulta unicamente un parametro en el que le pasaras la consulta entera. De este modo podriamos generar la consulta dinamica en JAVA (cosa mucho mas facil) y mandarsela al ireport. Se comento en este foro que no funcionaba porque a la consulta se le añadian las comillas simples indicando que es cadena, y que esto no funcionaba. Y alguien dio la solucion de poner $P!{SQL_QUERY}... He realizado todos estos pasos. Solo tengo un parametro en la consulta (exactamente como se indica arriba) y le paso la consulta desde JAVA, pero me sale el siguiente error: Error preparing statement for executing the report query : $P!{SQL_QUERY} Haber si pudierais ayudarme, ya que es importante para mi. Muchas gracias. Saludos. (Shu) |
| |||
Posible solucion filtrado Hola, primero queria agradecerte por la respuesta, ya me parecia q tenia q ser algo sencillo q no me daba cuenta.. Bueno con respecto a tu pregunta, nose como puedes pasar la consulta como parametro pero lo q yo hago es realizar la consulta por fuera del reporte y le paso directamente el resultado. Aca va el ej: String sourceFileName = "C:/Reports/reporte.jasper"; HashMap parameters = null; //Fill the report with the ArrayList (the query result --> reportItems) String filledFileName = JasperFillManager.fillReportToFile(sourceFileName, parameters, new JRBeanCollectionDataSource(reportItems)); //Export the report to an html file JasperExportManager.exportReportToHtmlFile(filledF ileName); Saludos. |
| |||
Hola a todos.... si alguien pudiera ayudarme... cuando migro un reporte del JasperViewer en un archivo tipo Excel... me aparece todo desconfigurado en filas y columnas... y en cuanto a los FileText... en una celda con fondo negro... quien podra ayudarme?¿... desde ya muchas Gracias... estoy programando con NetBeans 4.0, mas SQL Server 2000 y con iReport 5.0.... los reportes los genero por codigo desde el mismo IDE... un saludo a todos... |
| |||
Hola... soy nueva en esto y queria preguntaros como podria diseñar con el iReport un informe si en el código java le paso al metodo fillReport un DataSource en vez de una conexión. Object available_data[]={matri_stock,n_refer,proced,p_compra, tip_iva,prev_rea,c_total,p_venta,f_compra,sed,f_ma tric,tot_vehic}; JList myList = new JList(available_data); MyDataSource dataSource = new MyDataSource(myList); JasperPrint reporte = JasperFillManager.fillReport("C:\\Documents and Settings\\Inma\\Mis documentos\\SRC\\Propios\\Listados Tecsa\\TStock.jasper", parameters,dataSource); matri_stock, n_refer...seria vectores. y mi clase MyDataSource seria esta: package listados_tecsa; import net.sf.jasperreports.engine.JRDataSource; import net.sf.jasperreports.engine.JRException; import net.sf.jasperreports.engine.JRField; import java.util.Vector; public class MyDataSource implements JRDataSource { private Object[][] data; // data source structure private int index = -1; // current record index public MyDataSource(javax.swing.JList myList) { /* int numero_righe=myList.getModel().getSize(); int numero_colonne=12; data = new Object[numero_righe][numero_colonne]; for(int x=0;x<numero_righe;x++){ Object ob=myList.getModel().getElementAt(x); Vector v=(Vector)ob; for(int y=0;y<numero_colonne;y++){ data[x][y]=v.elementAt(y); } }*/ int numero_colonne=myList.getModel().getSize(); Object obj=myList.getModel().getElementAt(0); Vector ve=(Vector)obj; int numero_righe=ve.size(); data = new Object[numero_righe][numero_colonne]; for(int x=0;x<numero_colonne;x++){//0 al 12 Object ob=myList.getModel().getElementAt(x); Vector v=(Vector)ob; for(int y=0;y<numero_righe;y++){ if(v.size()==7){ data[y][x] = v.elementAt(y); }else{ data[y][x]=""; } } } } // called in net.sf.jasperreports.engine.fill package from JRBaseFiller.next() method // to make certain further data exist public boolean next() throws JRException { index++; return (index < data.length); } // called in net.sf.jasperreports.engine.fill package from JRBaseFiller.next() method // to get the right field value by means of column name an current record index public Object getFieldValue(JRField field) throws JRException { Object value = null; String fieldName = field.getName(); if ("MATRÍCULA".equals(fieldName)) { value = data[index][0]; } else if ("Nº REF. ART.".equals(fieldName)) { value = data[index][1]; } else if ("PROCEDENCIA".equals(fieldName)) { value = data[index][2]; } else if ("PRECIO COMPRA".equals(fieldName)) { value = data[index][3]; } else if ("TIPO IVA".equals(fieldName)) { value = data[index][4]; } else if ("PREV. REACOND.".equals(fieldName)) { value = data[index][5]; } else if ("COSTO TOTAL".equals(fieldName)) { value = data[index][6]; } else if ("PRECIO VENTA".equals(fieldName)) { value = data[index][7]; } else if ("FECHA COMPRA".equals(fieldName)) { value = data[index][8]; } else if ("SEDE".equals(fieldName)) { value = data[index][9]; } else if ("FECHA 1ª MATRIC.".equals(fieldName)) { value = data[index][10]; } else if ("Nº TOTAL VEHÍCULO".equals(fieldName)) { value = data[index][11]; } return value; } } // end of class Tambien os queria preguntar si ya no es mucho, como sería tambien el parametro "Map parameters" que le tengo que pasar al método fillReport. Mucha gracias!!! |
| |||
Funcion fillreport En el ultimo mensaje que postié al este foro puse un ejemplo de como invocar a la funcion, y los tipos de parametros que se le pasan.. capaz q eso te da una mejor idea. saludos. |
| |||
Que tal a todos asi como muchos tambiene estoy iniciando con iReports y necesito saber como inicializar una variable, cuando creo una variable en la biblioteca de objetos hay una parte para inicializar initial value expression alguien me puede decir como usar esta parte para inicializar por ejemplo una variable booleana en false no se si me explique bien espero me haya podido explicar bien Gracias |
| |||
Cita: Solo tenes que definir los parametros (nombre del parametro y $P{parametro}, y listo..... despues te queda ubicarlo donde quieras en el diseño del reporte.... :) saludos
Iniciado por antony_fire como hago un reporte sin lanzar ningun query, osea que solo muetro parametros en el reporte y estos parametros los envio desde java? |
| |||
hola: estoy empezando con jasperreport y tengo un problema al exportarlo a html el resultado de mi rreporte sale lleno de imagenes que parecieran que no existen con muchas x rojas mi codigo es el siguiente: response.setContentType( "text/html" ); PrintWriter outout = response.getWriter(); JRHtmlExporter exporter = new JRHtmlExporter(); Map imagesMap = new HashMap(); request.getSession().setAttribute( "IMAGES_MAP", imagesMap ); exporter.setParameter( JRExporterParameter.JASPER_PRINT, jasperPrint ); exporter.setParameter( JRExporterParameter.OUTPUT_WRITER, outout ); exporter.setParameter( JRHtmlExporterParameter.IMAGES_MAP, imagesMap ); exporter.setParameter( JRHtmlExporterParameter.IMAGES_URI, "image?image=" ); exporter.exportReport(); no se si alguien me puede ayudar |
| |||
hola: quisiera preguntar si alguien sabe si se puede enviar como parametros al reporte el ancho y alto de la pagina o los margenes <jasperReport name="InformeUsuario" columnCount="1" printOrder="Vertical" orientation="Portrait" pageWidth="612" pageHeight="792" columnWidth="556" columnSpacing="0" leftMargin="28" rightMargin="28" topMargin="28" bottomMargin="28" > |
| |||
Importar datos de tipo Int & Double a string Hola, me URGE!!!! saber como importo datos de mi Base de Datos de tipo Int y Double a string porque a la hora de compilar el Reporte en el iReport me aparece esto: Errors compiling .\classic.jasper! it.businesslogic.ireport.ReportClassLoader@baa89c 1758563*[Thread-111]*WARN*design.JRVerifier**-*Warning*:*Element*bottom*reaches*outside*band*are a*:*y=0*height=1*band-height=0 net.sf.jasperreports.engine.JRException:*Errors*we re*encountered*when*compiling*report*expressions*c lass*file: 1.*Cannot*cast*from*Integer*to*String ****************value*=*(java.lang.String)(((java. lang.Integer)field_IdProducto.getValue())); ************************<------------------------------------------------------------------> 2.*Cannot*cast*from*Integer*to*String ****************value*=*(java.lang.String)(((java. lang.Integer)field_IdProducto.getOldValue())); ************************<---------------------------------------------------------------------> 3.*Cannot*cast*from*Integer*to*String ****************value*=*(java.lang.String)(((java. lang.Integer)field_IdProducto.getValue())); ************************<------------------------------------------------------------------> 3*errors QUE PROPIEDAD TENGO QUE CAMBIAR PARA QUE ME LLAME LOS DATOS DE TIPO INT Y DOUEBLE GRACIAS |
| |||
Error cannot resolve method fillReport Beunas noches compañeros, he tratado de seguir sus pasos para llamar desde un jsp al reporte y no me reconoce los metodos cuando importo los paquetes... Sea cual sea el metodo que llame se produce el siguiente error: Ha tenido lugar un error en la línea: 169 en el archivo jsp: /prueba/jasper.jsp Error de servlet generado: C:\Tomcat 5.0\work\Catalina\localhost\jsp-examples\org\apache\jsp\prueba\jasper_jsp.java:283 : cannot resolve symbol symbol : method fillReport (java.lang.String,java.util.Map,pruebaconexion.Con exionDB) location: class net.sf.jasperreports.engine.JasperFillManager JasperPrint prin =JasperFillManager.fillReport(reportFile.getPath() , parameters, bd1); ^ 1 error Me pasa tambien si trato de pasar el archivo a byte para llevarlo a pdf... alguna idea??? es urgente..... Gracias |
| |||
y AHORA QUE....... Ya descubri el truco, pero ahora en el codigo que Destruktor puso
Código:
try { //Ruta de Archivo Jasper String fileName="C:\\reports\\rep_cli.jasper"; //Ruta de archivo pdf de destino String destFileNamePdf="C:\\reports\\rep_cli.pdf"; //Ruta de archivo xls de destino String destFileNameXls="C:\\reports\\rep_cli.xls"; //Pasamos parametros al reporte Jasper. Map parameters = new HashMap(); parameters.put("sql_query", new String("select * from clientes")); //Preparacion del reporte (en esta etapa se inserta el valor del query en el reporte). JasperPrint jasperPrint=JasperFillManager.fillReport(fileName, parameters, getConnection()); //Creación del PDF JasperExportManager.exportReportToPdfFile(jasperPr int, destFileNamePdf); //Creación del XLS JRXlsExporter exporter = new JRXlsExporter(); exporter.setParameter(JRExporterParameter.JASPER_P RINT, jasperPrint); exporter.setParameter(JRExporterParameter.OUTPUT_F ILE_NAME, destFileNameXls); exporter.setParameter(JRXlsExporterParameter.IS_ON E_PAGE_PER_SHEET, Boolean.TRUE); exporter.exportReport(); System.exit(0); } catch (Exception e) { System.out.println(e.getMessage()); } AL COMPILAR TODO ESTÀ BIEN PERO A LA HORA DE MANDAR LLMAR EL REPORTE, ME MANDA DECIR QUE NO ENCUENTRA LA RUTA ( EN COLOR VERDE) QUE LA MANDO LLAMAR AQUI (COLOR ROJO) . COMO ESTA LA COSA AMIGO DESTRUKTOR . |
| |||
definir la consulta y pasarle parametros Cita:
Iniciado por DestruKtor Olvidemos lo de las fuentes por ahora, Lo que me inquieta es como pasarle parametros a una consulta puedo definir la consulta y pasarle parametros parametros que eh definido asi: select * from clientes where idclienter = $P{id} select * from clientes where idclienter = $P{id} and ciudad = $P{ciudad} order by $P{orden} hasta hay todo bien, pero la cosa se complica por ejemplo si tengo muchos filtros que mandarle a una consulta, por lo que pensaba pasar mejor la consulta completa en un parametro para ello defini un parametro $P{query} y le asigne valor por defecto = "select * from clientes" para poder visualizar los datos y ver el informe y en query del ireport solo coloco el parametro $P{query}, me arroja el error : Syntax error en o cerca de "$1" ahora si elimino las "" del valor por defecto del parametro que es lo que asumo esta molestando en la consulta no deja compilar, alguna idea de como solucionar esto uso el iReport 0.4.1 LOS PARAMETROS LOS PUEDES DEFINIR DENTRO DE LA SENTENCIA SQL HE INCLUSO LLAMRLOS MEDIANTE UNA VARIABLE |
| |||
Garabatos Ya encontre el error que me daba pero ahora al imprimir el archivo byte en pantalla me aparece el basurero que el genera sin ningun tipo de formato... Intente lo que escribieron para otra persona que le paso lo mismo y nada.... Que puedo hacer? |
| |||
Listo... Ahora ¿if.... then? Buenas tardes, ya resolvi... bueno en realidad se resolvio solo... jejeje. Ahora tengo OTRA duda.... Como hago condicionales en iReport?... yo hice un par de variables que me funcionaron en un reporte pero en otro no... F{campo}.toString=="valor"?(new String()):"String uno" F{campo2}.toString=="valor2"?(new String()):"String dos" y las coloque en un texto dinamico, me funciono de maravilla pero ahora no lo esta haciendo en un reporte nuevo... ideas??? |
| |||
hola tengo un problema con el codigo que esta al inicio del foro no se bien como crear el reporte con el ireport alguien me puede asesorar al compilar el progama me sale el siguiente error : Errpr loading object from file C:\mi ubicacion gracias |
| |||
si alguien desea contestarme mi correo es [email protected] nota EL PUNTO JASPER ES EL QUE NO PUEDO CARGAR |
| |||
solucion a muchas imagenes Cita: Hola paola: lo que necesitas agregarle a tu codigo es lo siguiente...
Iniciado por Paola_Urizar hola: estoy empezando con jasperreport y tengo un problema al exportarlo a html el resultado de mi rreporte sale lleno de imagenes que parecieran que no existen con muchas x rojas mi codigo es el siguiente: response.setContentType( "text/html" ); PrintWriter outout = response.getWriter(); JRHtmlExporter exporter = new JRHtmlExporter(); Map imagesMap = new HashMap(); request.getSession().setAttribute( "IMAGES_MAP", imagesMap ); exporter.setParameter( JRExporterParameter.JASPER_PRINT, jasperPrint ); exporter.setParameter( JRExporterParameter.OUTPUT_WRITER, outout ); exporter.setParameter( JRHtmlExporterParameter.IMAGES_MAP, imagesMap ); exporter.setParameter( JRHtmlExporterParameter.IMAGES_URI, "image?image=" ); exporter.exportReport(); no se si alguien me puede ayudar exporter.setParameter(JRHtmlExporterParameter.IS_U SING_IMAGES_TO_ALIGN, new Boolean(false)); con esto te quitara todas las imagenes, tendras problemas si tu reporte incluye alguna imagen por que con este comando se inabilitan... espero que te sirva. |
| |||
ver un chart Hola a todos: He podido hacer un reporte con un chart mediante la herramienta que trae el IReport y funciona muy bien. pero al enlazar el reporte con mi programa en Java, me muestra el reporte pero no la grafica, por que al compilar el reporte no genera la carpeta con la imagen. que puedo hacer. ya inclui los *.jar y no me genera error pero tampoco la imagen..... alguien sabe que puedo hacer |
| |||
inicializar un campo boolean Cita: Arcangellous:
Iniciado por Arcangellous Que tal a todos asi como muchos tambiene estoy iniciando con iReports y necesito saber como inicializar una variable, cuando creo una variable en la biblioteca de objetos hay una parte para inicializar initial value expression alguien me puede decir como usar esta parte para inicializar por ejemplo una variable booleana en false no se si me explique bien espero me haya podido explicar bien Gracias debes colocar el siguiente codigo new Boolean(false) en el campo initial value expression, escribelo tal cual, igual te doy los de los otros tipos, los mas usados new Double(100) new String("Hola mundo") espero que te sirvan Saludos Oscar |
| |||
Holas Soy nuevo en esto de los Reports. Antes de nada agradecer a todos los colaboradores del foro su trabajo. Este foro me ha ayudado mucho y me gustaría contribuir con algunas preguntas y repsuestas. onetwo: :P Lo que te seguramente te este pasando es que tienes diferentes librerías de Jasper en el iReport y en el visualizador, es decir, que compilas el report con una librerias y lo visualizas con otra. Fíjate en el directorio lib de iReports tendrás una librería con este nombre: "jasperreports-0.6.7.jar" (la que viene por defecto con el iReports) y en el proyecto donde estes visualizando usarás seguramente una librería con nombre "jasperreports-0.6.8.jar" (que es la última que hay en la web de JasperReports) Solución: Yo lo que he hecho es coger todas las últimas versiones de las librerías que se necesitan (las que vienen en la web de JasperReports) y meterlas en la carpeta "lib" de iReports. Borré la "jasperreports-0.6.7.jar" que venía con el iReports y renombré la "jasperreports-0.6.8.jar" como "jasperreports-0.6.7.jar" (todo esto dentro de la carpeta "lib" del iReports) Con eso me funcionó ^^ |
| |||
hola, queria consultarles algo. Tengo tablas dinámicas en java (JdbTables) y queria ver si se pueden pasar de alguna forma al iReport. Intente con el custom JRDataSource, pero no pude hacerlo. Alguno tiene idea de como hacerlo? gracias, noelia |