La utilidad de los parámetros en un informe es permitir generar diferentes resultados a partir de un mismo archivo de diseño, en función de un dato que podemos cambiar nosotros directamente o a través de la aplicación final.
DI05.- Informes
4.1.- Uso de parámetros en un informe.
Un parámetro se define por un nombre y una clase, cualquier clase de Java es una clase de parámetro válido. Se emplea para pasar información al informe en tiempo de ejecución. Por ejemplo, un parámetro de tipo
java.sql.Connection
se puede utilizar para rellenar un informe integrado, mientras que un parámetro java.lang.Boolean
se puede utilizar para mostrar u ocultar una sección del informe.
Para administrar los parámetros, utilizamos el apartado Parameters
del inspector de informe. Desde aquí es posible agregar y quitar parámetros utilizando el menú contextual. Podemos modificar un parámetro seleccionándolo y editando sus propiedades. Podemos modificar entre otras cosas:
- Name: nos permite asignar un nombre a un parámetro.
- Parameter class: lugar en donde ubicaremos la clase asociada al parámetro.
- Default Value Expression: valor predeterminado asociado al parámetro. Esta expresión es evaluada por JasperReports sólo cuando un valor para el parámetro no ha sido proporcionado por el usuario en tiempo de ejecución. Si el parámetro es de tipo String, el valor que introduzcamos debe de ir encerrado entre comillas.
- Use as prompt: activaremos esta opción cuando el valor del parámetro sea asignado durante el instante de tiempo en el cual se está generando el informe. En caso de no activarlo, el parámetro tendrá asignado el valor Default Value Expression.
Los parámetros se pueden clasificar en:
- Parámetros integrados están disponibles de forma predeterminada y contienen información en tiempo de ejecución. Algunos de los más importantes son
REPORT_CONNECTION
, que tiene la conexión JDBC para ejecutar la consulta SQL del informe (si el informe está lleno con una conexión JDBC), elREPORT_DATA_SOURCE
que contiene, en su caso, la fuente de datos utilizada para llenar el informe, o elREPORT_LOCALE
que contiene la configuración regional utilizada para rellenar el informe, y así sucesivamente. Los parámetros integrados no pueden ser modificados o eliminados. En cuanto al tipo de parámetro podemos encontrar: - Parámetros de usuario: el programador determina su nombre, clase y valor. se pueden configurar para que sean insertados por el usuario cuando se ejecute el informe. Por ejemplo, vamos a crear un parámetro llamado ENCABEZADO_INFORME de tipo String con la propiedad "Use as prompt" activa. Si arrastramos el parámetro desde el inspector de informe a la banda título, iReport creará un campo de texto para mostrar el valor del parámetro. Por lo tanto, al generar el informe nos solicitará un valor para este parámetro que se visualizará como título del informe.
Uno de los usos más extendido de los parámetros es el filtrado de datos, que veremos a continuación.