Creación de Reportes con JasperRepots y iReports : Parámetros y Variables

En el tutorial anterior vimos como hacer uso de los Fields para indicar la posición dentro de nuestro reporte en la que deben quedar los valores que obtenemos de nuestra aplicación Java.
Ahora hablaré de los otros dos tipos de expresiones que proporciona JasperReports: Parameters y Variables. Y la forma en la que podemos usarlos para hacer más dinámicos nuestros reportes.
Para ello seguiremos usando el ejemplo del segundo tutorial , así que si no lo han leído les recomiendo que lo hagan en esta página.
Abrimos iReport y el reporte del tutorial anterior (“reporte2.jrxml”). En este momento nuestro reporte debe verse como en la siguiente imagen:

En donde solo tenemos textos estáticos y “fields” para mostrar un reporte básico de los datos de ciertos participantes. Si lo recuerdan, la salida del reporte al generarlo desde nuestra aplicación Java, era la siguiente:

Ahora pasaremos a agregar “Parameters” a este reporte. Como dije en el tutorial anterior: los parámetros son valores que usualmente se pasan al reporte desde el programa que crea el “JasperPrint” del reporte (nuestra aplicación Java) haciendo uso de un “java.util.Map”.
En este caso pasaremos dos parámetros: el título del reporte, y el nombre del autor del mismo.
Al igual que con los Fields, para poder hacer uso de un parámetro primero hay que declararlo en el “Report Inspector” (situado en el panel izquierdo del iReport), por lo que nos dirigimos a esta ventana y hacemos clic derecho sobre el nodo “Parameters”. Al hacer esto se abrirá un menú contextual. Seleccionamos la opción “Add Parameter” (la única habilitada).

Con esto se agregará un nuevo parámetro llamado “parameter1” de tipo “java.lang.String”. Cambiamos en nombre del parámetro en la ventana de propiedades a “titulo” (recuerden que este nombre es el que deberemos usar desde nuestra aplicación Java para establecer el valor del parámetro).

Agregamos otro parámetro llamado “autor” de la misma forma que agregamos el de “titulo”.

Ahora eliminamos el elemento que teníamos como título del reporte (el que contiene el texto estático “Reporte de Participantes”) y lo reemplazamos por el parámetro “titulo” arrastrándolo desde la ventana del “Report Inspector” a la banda “Title”.

Ajustamos este elemento para que tenga el mismo formato que el título que teníamos anteriormente.
Ahora agregamos el segundo parámetro (“autor”) en la banda “Page Header”, la cual se repite en la parte superior de cada una de las páginas (en la primer página aparece después del título), arrastrándolo a esta banda.

Si dejamos esta expresión tal y como está (“$P{autor}”) solo se mostrará en nombre del autor en la parte superior de cada una de las páginas (por ejemplo si el autor del reporte es “Juan”, solo veremos la palabra “Juan” en la parte superior de los reportes). Esto podría no ser claro para quienes revisen este reporte, por lo que queremos indicar de forma explícita que a lo que se refiere el valor de este parámetro es el nombre del autor. Para hacer esto nos dirigimos a la ventana de propiedades de este parámetro (para lo cual debemos tenerlo seleccionado) y buscamos la categoría “Text field properties”. Ahi se encuentra una propiedad llamada “Text Field Expression” cuyo valor es “$P{autor}”.

Lo que haremos es editar esta expresión para anteponer la palabra “Autor: “. Para hacer esto presionamos el botón “…”, con lo que se abrirá una ventana que nos permitirá editar la expresión. En esta ventana modificamos la expresión “$P{autor}” para que quede “Autor: ” + $P{autor}. Con esto lo que logramos es que a la cadena estática “Autor: ” se le concatene el valor de la expresión dinámica “$P{autor}”. Por lo que ahora el lo que aparecerá en la parte superior de cada página del reporte será la cadena “Autor: Juan”.

Ahora presionamos el botón “Compile Report” para que se genere el reporte compilado “reporte2.jasper”.
Veamos una vista previa del reporte, para esto hacemos clic en la pestaña “Preview”. Nos pedirá los valores de los dos parámetros. Si colocamos para el parámetro “titulo” el valor “Reporte” y para el parámetro “autor” el valor “Alex” el preview que veremos será el siguiente:

Anuncios

3 pensamientos en “Creación de Reportes con JasperRepots y iReports : Parámetros y Variables”

    1. Amigo!! gracias por rebloguear mis entradas, son de experiencia propia y funcionales!! me gustaria saber quien eres y en donde te encuentras!!

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s