Bases de Datos, Java, MySQL, Programación

Creación de Reportes en Java – Parte II

En la primer parte de este tutorial establecimos los parámetros necesarios para el diseño de nuestro reporte con iReport que gracias a un plugin aún en fase beta ya se puede tener iReport como modulo de NetBeans. En esta segunda parte, continuaremos con el diseño del reporte.

Ya comentaba que tenemos una pequeña paleta con algunos componentes y mencionabamos la diferencia entre el Static Text y Text Field. Ahora, prosigue hacer el diseño, es decir, la presentación visual de nuestro reporte.

La región details es la que contendrá los datos que devuelva la consulta SQL, por lo tanto, es de suponerse que estos deberán ser componentes Text Field y no Static Text.

Para insertar los componentes, los seleccionamos del panel derecho presionando con el mouse y sin soltarlo, arrastramos al área de diseño. Al igual que pasa con los controles SWING, al seleccionar un componente tenemos el panel de propiedades, así podemos modificar el color, tamaño y tipo de fuente. Entendido esto, procedemos a realizar un diseño similar al mostrado por la figura:

diseno_reporte.png

Al agregar un Text Field a nuestra área de diseño, observaremos que tienen el texto de $F{field} . Deberemos cambiar la palabra «field» que se encuentra dentro de las llaves y poner el nombre de los campos que nos devolverá la consulta SQL. Si a estas alturas hay aún algún despistado que no sabe de lo que hablo, me refiero a los campos de la consulta SQL que hicimos:

«SELECT name, telefono, email FROM contacts»

Y estos campos son los que encontraremos en el panel izquierdo al desplegar la opción de Fields. Ahora bien, para asignar esos campos a los Text Fields, basta con dar doble click al Text Field y editarlo ó bien seleccionar el TextField y en el panel de propiedades ir a la propiedad Expression y ahi cambiar el valor.

Las cajas de texto que estan en la región de pageFooter son para indicar el número de página, pongo a continuación el valor de las dos Text Field en caso de no identificar bien lo que esta escrito en la imágen.

«Page » + $V{PAGE_NUMBER} + » of «

«» + $V{PAGE_NUMBER}

Con esto, si hemos hecho todo correctamente, ya podemos tener una vista de nuestro reporte, así que podemos ir al menú Designer y ejecutar el reporte con Run report.

La figura muestra el resultado de ejecutar dicho reporte!

reporte_preview.png

Ahora, como se observa en la figura, obtenemos un reporte en base a una consulta SELECT sin ninguna condición WHERE. A menudo, en la realidad casi siempre los reportes serán bajo ciertos criterios, por ejemplo, en el caso más sencillo de este ejemplo, deseariamos mostrar los datos del contacto que tenga el id = 3.

Para ello necesitamos agregar un parámetro. En el panel izquierdo, vamos a la opción Parameters, click derecho, Add y escogemos parameters.

add_param.png

Le asignamos algún nombre a dicho parámetro. Posteriormente debemos modificar la consulta, si anteriormente teniamos:

SELECT name, telefono,email FROM contacts

Ahora solo agregaremos la clausula WHERE con el parámetro que acabamos de agregar:

SELECT name, telefono,email FROM contacts WHERE id = $P{id} 

donde $P{ } indica que se trata de un parámetro. «id» es el nombre de este parámetro.

Por último, para ver los resultados debemos establecer una valor por default. Esto se consigue seleccionando el parámetro y en el panel de propiedades establecer a Default Value el valor «1» ó del número de id que se quiera visualizar (poner el valor con comillas dobles).

Con esto al ejecutar de nuevo el reporte, ya obtendremos un nuevo reporte bajo cierto criterio.

Lo único que falta ahora es crear el código para poder llamar desde nuestra aplicación Java al reporte, por ejemplo, que al dar click en un boton, el reporte se ejecute, ya seá que mande directo a impresión ó nos muestre la vista previa como en la figura de arriba.

Esto lo veremos en la tercera y última parte de este tutorial.

69 comentarios en “Creación de Reportes en Java – Parte II

  1. windoctor otra pregunta… si bien todavía no he leído la documentación… se pueden generar un reporte desde 2 consultas? O sea… imagina una factura, donde en una primera parte estarían los datos del cliente (primera consulta) y esta el detalle o cuerpo de la factura (donde están los productos de dicha factura.)
    Se agradece algún comentario respecto a eso.
    Saludos!
    Roberto

  2. holas si buen material el que ponen aqui, tengo una duda haber si pueden solventarmela que pasa que yo le paso un parameto un field al reporte que muchas veces es mas largo uno que el otro osea enel field el valor que le paso puede ser
    » algo » o » alguna otra cosa » pero como el segundoparametro es mas grande no se nota completamente y yo quisiera saber si es que se puede mandar el tamaño de la fuente para este field

    haber si me responde estare agradecido

  3. “Page ” + $V{PAGE_NUMBER} + ” of “

    “” + $V{PAGE_NUMBER}

    porq repites la variable page_number?

    no debería ser or ejemplo 2 of 10

    como lo pones no saldria 2 of 2

  4. hola Thelly.
    Pie de pagina. Numeracion de paginas en report.

    respondo a tu pregunta sobre:
    “Page ” + $V{PAGE_NUMBER} + ” of “ + $V{PAGE_NUMBER}

    Tene en cuenta que tenes 4 componentes 2 con texto estatico («Page» «of»)
    y dos variables ( $V{PAGE_NUMBER} , $V{PAGE_NUMBER} )
    lo que varia es de las dos var que decis estan respetidas es el tiempo de evaluacion.
    en propiedades de la variable -> Text Field -> Evaluation Time
    la primera la tiene en Now y la segunda en Report
    de esta manera obtenes el total de Pages y las paginas correlativas.

    y respecto a lo de Roberto,
    si se puede tenes que usas un Subreporte y ponerlo x ejemplo en el detalle (es lo q yo haria)

  5. Hola tambien me sale ese mismo error al hacer click en Preview y aun no se por que

    javax.xml.parsers.FactoryConfigurationError

    por fa si alguien soluciono eso que me diga como lo hizo

  6. Map parametro = new HashMap();
    parametro.put(”fech_ini”, fecha1);
    parametro.put(”fech_fin”, fecha2);
    parametro.put(”Total”, total);

    Hola me pueden decir de donde salen esos valores por ejemplo fecha1 o fecha se supone que esos valores los extraen desde un formulario java como capturan su valor necesito preguntar por dos parametros y aun no he podido hacerlo

  7. Hola a todos …
    Yo estoy tratando de realizar reportes peros desde iReport de windows ya que me gusta programar con JCretaor y he realizado todos los pasos, las consultas, la coneccion a la base de datos… pero cuando quiero ver el reporte me sale este mensaje

    the document has no pages = «El documento no tiene pagina»

    Lo bueno es que tiene su pagina y todo… pero no me sale los resultados de la consulta

  8. Hola cuando aparece eso es por que no tienes registros en la BD o por que los parametros que le estas enviando desde java a ireport no los esta tomando, me explico si quieres que en el reporte aparezcan solo las personas de nombre jose por ej, desde java le envias el parametro con el nombre jose si el ireport no recibe esos parametros va a pensar que no le estas enviando nada y no muestra nada en la pagina bueno eso pienso que puede ser

  9. Buenos dias, cuando quiero ejecutar el reporte me da error:

    javax.xml.parsers.FactoryConfigurationError: Provider org.apache.xerces.jaxp.SAXParserFactoryImpl not found
    at javax.xml.parsers.SAXParserFactory.newInstance(SAXParserFactory.java:134)
    at net.sf.jasperreports.engine.xml.JRReportSaxParserFactory.createSAXParserFactory(JRReportSaxParserFactory.java:124)
    at net.sf.jasperreports.engine.xml.JRReportSaxParserFactory.createParser(JRReportSaxParserFactory.java:106)
    at net.sf.jasperreports.engine.xml.JRXmlDigesterFactory.createParser(JRXmlDigesterFactory.java:1132)
    at net.sf.jasperreports.engine.xml.JRXmlDigesterFactory.createDigester(JRXmlDigesterFactory.java:1107)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:203)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:168)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:152)
    at com.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:697)
    at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:572)
    [catch] at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997)

  10. Hola si no me equivoco ese error da solo si estas ocupando el NetBeans 6.5 si es así esta es la solución

    copiar el archivo que esta en esta dirección

    C:\Archivos de programa\NetBeans 6.5\ireport\modules\ext\xercesImpl.jar

    a esta otra dirección

    C:\Archivos de programa\Java\jdk1.6.0_11\jre\lib\ext

  11. Al tratar de ver el priview me aparece un error:
    Ha ocurrido una excepción javax.xml.parsers.FactoryConfigurationError.

    en detalles dice:
    javax.xml.parsers.FactoryConfigurationError: Provider org.apache.xerces.jaxp.SAXParserFactoryImpl not found
    at javax.xml.parsers.SAXParserFactory.newInstance(SAXParserFactory.java:134)
    at net.sf.jasperreports.engine.xml.JRReportSaxParserFactory.createSAXParserFactory(JRReportSaxParserFactory.java:124)
    at net.sf.jasperreports.engine.xml.JRReportSaxParserFactory.createParser(JRReportSaxParserFactory.java:106)
    at net.sf.jasperreports.engine.xml.JRXmlDigesterFactory.createParser(JRXmlDigesterFactory.java:1132)
    at net.sf.jasperreports.engine.xml.JRXmlDigesterFactory.createDigester(JRXmlDigesterFactory.java:1107)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:203)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:168)
    at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:152)
    at com.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:697)
    at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:572)
    [catch] at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997)

    y no lo puedo ejecutar ni nada, q hago??? please

  12. hola,

    primero te felicito tu tutorial es buenísimo, pero tengo un pekeño problema,
    ¿cual es ese panel donde aparecen los Fields y los parametros?
    no logro encontrarlo y no se como ubicarlos

  13. hola de nuevo, ahora me fije que había instalado la versión (3.5.1) mas reciente del ireport y que por bug no me deja ver el Report Inspector que es el panel que muestras, espero que lo solucionen pronto

  14. hola .. me desacarge el ejemplo de ireports pwero no corre ni levanta el formulario donde se pone el codigo para que salga el reporte ……. parace que le falta mas jaras o no se por que sale error … porfavor si puedieras mnadarme el ejemplo a mi correo porfavor ..ese ffernandox@hotmail.com

  15. Hola que tal…Primeramente gracias por tu aporte a la comunidad…tu manual me ha sido de gran ayuda ya que soy nuevo en el lenguaje java…especialmente en la parte de reportes……te explico lo que quiero hacer…hise un pequeño programita en java el cual esta basado en un registro civil el mismo hace sus operaciones sobre actas de difusión, actas de matrimonio y actas de nacimiento ”ojo con fines académicos”, pero soy ignorante en la parte de la generación de los reportes, preguntándole al señor google llegue hasta Aquí, el reporte consiste de lo siguiente.

    1-) Al presionar al botón guardar registro, aparte de guardar los datos ”ya esta operativa” , esta me debe generar y abrir el pdf, con todos los datos que introduje en las cajas de texto “datos del formulario”.
    2-) al presionar un menú item se abre un JDialogo la cual contiene una caja de texto en la cual voy a introducir un campo clave de ese registro por ejemplo número de pasaporte o de cédula de identidad, al presionar el botón buscar, el mismo debe de verificar esos datos de esa caja de textos y compararla con los de la base de datos. De ser iguales, abre un pdf con todos que se quieran mostrar en dicho pdf.
    Todo esto ya esta operativo osea los métodos y consultas..pero como no se trabajar con los reportes estoy varado…ayuda por favor si alguien sabe le estaría muy agradecido..

  16. Holaaaaaaa, esta muy chevere tu foro,,,descargue el proyecto…pero tengo un problema estoy realizando un proyecto muy parecido, estoy trabajando con netbeans 6.5 y el jaspersoft, realizo mi reporte le paso el parametro de tipo string por q es el nombre de los clientes, al ponerle el parametro por default por ejemplo:»andrea» al ejecutar el reporte me gernera los datos de dicho cliente..perfecto pero cuando lo llamo desde el programa en netbeans le digo el cliente por ejemplo carlos…me bota el reporte q genera el natalia y me bota los datos de dicho cliente….he molestado con una cosa y la otra y nada..me sigue saliendo ese mismo reporte..plissss ayudaaaa..gracias por su colboracion de antemano.

    1. Natalia, debes dejar el parámetro por default sin valor de esta forma podrás se seteara bien, de todas formas debes verificar bien si estas seteando bien el parámetro en tu programa

  17. Gracias por responder, osea q en la parte por default lo dejo en comillas y no le doy ningun valor???..eso ya lo realize pero me sale null…y la verdad no se q mas hacerle..

    1. por default en el ireport que estoy usando yo (3.5.2) el parametro lo dejas vacio, sin comillas ni nada, cuando le haces un preview te pide el valor y se setea

  18. MMMMM yaaa..graciasssssss, voy a intentar desarrollarlo asi,
    yo creo q mi problema va hacer es en el programa,cualquier cosa te estoy comentando…y gracias por responder..

  19. Hola a todos …
    Primero que todo felicidades por este gran tutorial …
    Estoy tratando de realizar un llamado a un reporte en NetBeans que realice en iReport y me sale un error que no comprendo … Mi clase es la siguiente …
    package Clases;
    import net.sf.jasperreports.engine.JRException;
    import net.sf.jasperreports.engine.JasperFillManager;
    import net.sf.jasperreports.engine.JasperPrint;
    import net.sf.jasperreports.engine.JasperReport;
    import net.sf.jasperreports.engine.util.JRLoader;
    import net.sf.jasperreports.view.JasperViewer;
    public class Reportes {
    Model modelo = new Model();
    public Reportes() {
    try{
    modelo.connect(); // se llama al metodo para conectar a la base de datos…
    }catch(Exception e){ System.out.println(«Error en la coneccion»);
    }
    }
    public void Empleados(){
    try {
    String master = System.getProperty(«user.dir») + «/src/Clases/PerActivo.jasper»;
    System.out.println(«master» + master);
    if (master == null) {
    System.out.println(«No encuentro el archivo del reporte maestro.»);
    }
    JasperReport masterReport = null;
    try {
    masterReport = (JasperReport) JRLoader.loadObject(master);
    }
    catch (JRException e) { System.out.println(«Error cargando el reporte maestro: » + e.getMessage());
    }
    JasperPrint jasperPrint = JasperFillManager.fillReport(masterReport, null);
    JasperViewer jviewer = new JasperViewer(jasperPrint,false);
    jviewer.setVisible(true);
    }
    catch (Exception j) {
    System.out.println(«Mensaje de Error:»+j.getMessage());
    }
    }
    }

    y el error que genera es …..
    primero un mensaje que el documento no tiene pagina la cual si tiene y segundo es el siguiente
    net.sf.jasperreports.engine.query.JRJdbcQueryExecuter
    ADVERTENCIA: The supplied java.sql.Connection object is null.
    Claro que el error es cuando lo llamo con un boton … por que cuando lo hago por …preview… sale Okey..
    Agradezco antemano su colaboracion ….

  20. JasperPrint jasperPrint = JasperFillManager.fillReport(masterReport, null);

    hola tu error esta en esa linea, y es simple, le estas pasando como un parámetro de null a la conexión del rellenado del reporte, no estoy seguro si hay un método que te permita pasarlo sin la conexión pero esa es el problema que tienes

    1. Gracias compañero, tenias razon en lo que dices …
      la obsion completa es
      JasperPrint jasperPrint = JasperFillManager.fillReport(masterReport, null, modelo.con);
      ya que el null es un parametro de la consulta y el modelo.con es la coneccion a la base de datos ….
      Gracias X todo …

  21. Ahora una preguntica mas ..
    Como hago para que el pantallaso del reporte salga en el mismo proyecto y no se genere como un Frame mas … es decir que no se muestre en la barra de inicio..
    Si me supe explicar …?

  22. Ayudemen por favor.. Descargue el proyecto y se abre perfecto pero al hacer el llamado me sale el mensaje de :
    esta es la impresion del programa.
    master:C:\Touch2009\reportesJasper\src\reportes\repClientes.jasper
    Mensaje de Error:null
    este mensaje me sale nulll porfa ayudemen no le lanza el reporte

  23. hola ayudenme por favor me sale este error al ejecutar el programa

    Imprime master: C:\Users\PC\Documents\NetBeansProjects\a/src/abc/rprueba.jasper
    primer try: null

  24. felicitaciones por su enormes conocimiento….

    Verán tengo un pequeño problema con un reporte realizado con ireport.

    El reporte consiste en el envio de varios registros en la zona detalle, el mismo que superan la cantidad de posibles a presentarse en una página; por lo cual la logica dice, que tiene que debe presentarse en la siguiente pagina los registros faltantes….

    El PROBLEMA consiste en que no presenta la otra pagina con los registros faltantes, sino que que en la misma pagina los presenta uno sobre otro…

    Por FAVOR ayudemen con ese inconveniente

  25. hola..tengo un problema..

    JasperReport masterReport = null;
    try {
    //aqui es el proble
    masterReport = (JasperReport) JRLoader.loadObject(«reportes/newReport.jasper»);
    } catch (JRException e) {
    System.out.println(«Error cargando el reporte maestro: » + e.getMessage());
    System.exit(3);
    }.

    en esa parte indicada..el codigo salta al el ultimo catch y muestra el mensaje de error «null».
    Se agradece la ayuda…gracias

    1. mira yo no inicializaria la variable con un null
      simplemente la dejo vacía sin inicializar

      siempre hago lo mismo y no tengo ese problema

      lo otro que podrías probar es si esa es la ruta correcta al .jasper

      ej yo siempre pongo

      /carpeta en raiz/carpeta de reportes/reporte.jasper

  26. buen dia tengo un pequeño problema al realizar una consulta en el report query mi consulta es la siguiente «SELECT * FROM accesos WHERE id_cod=$P{id_cod}» me manda el siguiente error «SQL problems..Error de Sintaxis en o cerca de <> «;
    cual podria ser el problema????

  27. buen dia tengo un pequeño problema al realizar una consulta en el report query mi consulta es la siguiente “SELECT * FROM accesos WHERE id_cod=$P{id_cod}” me manda el siguiente error “SQL problems..Error de Sintaxis en o cerca de <> “;
    cual podria ser el problema????

    1. 3 cosas

      1 prueba poniendo un espacio entre el el atributo el comparador y el parámetro

      2 cita la tabla donde pertenece el atributo tabla.id_cod

      3 ponle un nombre distinto al parámetro (no igual a un atributo)

      1. que tal kotetsu gracias por responder intente las 3 opciones que me mencionaste y sin embargo sigue marcandome el mismo error.

      1. Que tal buen dia , resolvi la parte del error del que me mandaba en el query report a la hora de realizar la consultaa.Pero a la hora de crear el parametro y darle el Default Valor como mencionas “1″ cuando yo le paso el parametro desde un formulario no me respeta el parametro q le paso desde el formulario: me muestra el reporte con el parametro que le asigne en el Default Value
        Que deberia colocar en Default Value para q me respete el parametro que le paso; ya que si lo dejo vacio me dice «El documento no tiene paginas»»??

  28. hola compañeros no se que pasa pero me sale el suiente error: master C:\Users\Diego\Documents\NetBeansProjects\Reportes/src/reportes/contactos.jasper
    Mensaje de Error:null
    porque me sale este error ayuda pleace………..

  29. Hola.. Necesito Ayuda.. Yo y otro amigo hicimos un pequeño sistema de ventas.. Lo hicimos en JCreator, y la conexion a MySQL, los reportes nos funcionan bien corriendolo desde el codigo.. Pero cuando hacemos el jar lo hacemos en BlueJ, halamos todas las librerias de IReport junto con la de MySQL pero cuando lo crea no funcionan los reportes.. En resumen necesito hacer un jar y que me funcionen los reportes.. No se si conocen de algun programa que haga .jar…. Gracias de Antemano

  30. Hola a todos voy al grano. Tengo Netbeans 6.5 Instalado, con el appserv. El ejemplo que descargue es uno muy famoso de internet. Total, y tengo la base de datos conectada al IDE y EL PROGRAMA DE EJEMPLO QUE BAJE SI PUEDE generar el reporte. El problema viene que cuando modifico el reporte, o sea, cuando abro el jrxml y con tan solo darle el preview, ya no se puede generar el reporte. El mensaje de error que me aparece cuando cuando entro al jrxml y le doy preview es:

    Cargando desdeF:\SAIN\Pruebas\Ejemplo_Reportes/reportes/contactos.jas per

    Mensaje de error: Null

    El mensaje que me aparece cuando NO LE MUEVO NO LE DOY PREVIEW AL JRXML Y ME GENERA EL REPORTE SIN PROBLEMAS:

    Cargando desdeF:\SAIN\Pruebas\Ejemplo_Reportes/reportes/contactos.jas per
    BUILD SUCCESSFUL (total time: 10 seconds)

    ¿Alguien sabe que significa esto?

  31. nemesis : «buen dia tengo un pequeño problema al realizar una consulta en el report query mi consulta es la siguiente “SELECT * FROM accesos WHERE id_cod=$P{id_cod}” me manda el siguiente error “SQL problems..Error de Sintaxis en o cerca de “;
    cual podria ser el problema????»

    yo tengo el mismo problema si lo resolviste podrías compartir la solución ?? porfa !!

    1. creo que el query debe mencionar los campos para poder generar los fields correspondientes
      yo en tu lugar nunca uso el *

  32. Hola amigos, espero que si encuentran este comentario les sirva de ayuda mi dirección de correo y les diga el código que hago para llamar a un reporte sin a necesidad de hacer una conexión base de datos y obtener datos desde una aplicacion swing y colocarlos al reporte.

    mi correo es: julio011188@hotmail.com

  33. al hacer mi reporte e incluir textfield solo se muestra un registro de la BD no logro mostrar varios como se ve aca, por ejemplo si mi reporte fuera en directorio telefonico de ejemplo
    solo veria un nombre un telefono y un mail no todo el contenido de la tabla

  34. diskulpes soy nuevo en realizan reportes tengo un problema a la hora de kerer abrir un reporte en java y me manda este error:
    erro!net.sf.jasperreports.engine.JRException: com.sum.org.apache.xerces.internal.impl.io.MalformedByteSequenceException:invalid byte UTF-8 sequece
    porfa ayuda enviar
    pitufito_20000@hotmail.com

  35. la verdad mui bueno el tutorial…. me ha sacado de un apuro..

    solo que tengo un problema … al momento de ejecutar el preview.. me manda este error mortal!!! XD

    net.sf.jasperreports.engine.design.JRValidationException: Report design not valid :       1. Field not found : name      2. Field not found : telefono      3. Field not found : email     at net.sf.jasperreports.engine.design.JRAbstractCompiler.verifyDesign(JRAbstractCompiler.java:258)     at net.sf.jasperreports.engine.design.JRAbstractCompiler.compileReport(JRAbstractCompiler.java:140)     at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:215)     at net.sf.jasperreports.engine.JasperCompileManager.compileReportToFile(JasperCompileManager.java:131)     at com.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:515)     at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:602)     at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:1084)

  36. Hola exelente tutorial me he ido giando de su ejemplo.. pero cuando lo compilo me sale un error y no entiendo no se si me hace falta agregar algun jar o xq el error.

    El error es el siguiente:
    Error cargando el reporte maestro: java.io.FileNotFoundException: C:\Users\Carla\Documents\plugins para netbeans de ireport\Ejemplo_Reportes\reportes\contactos.jasper

    les agredeceria su respuesta lo mas pronto posible… Gracias!!..

  37. Hola, me da este error al ejecutar el reporte y no se que es, alguien que me pueda ayudar por favor se los agradecere.

    Error filling print… java.lang.Integer cannot be cast to java.lang.Boolean
    java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Boolean      at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:1244)      at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:1207)      at net.sf.jasperreports.engine.fill.JRBaseFiller.next(JRBaseFiller.java:1554)      at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:149)      at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:909)      at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:822)      at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:61)      at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:446)      at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:276)      at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:745)      at com.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:891)      at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:572)      at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997) 
    Print not filled. Try to use an EmptyDataSource…

Deja un comentario