Vous êtes sur la page 1sur 32

Tutorial Herramienta de

diseo iReport
www.ste.es
1
INDICE
1 Gua Bsica de Configuracin de iReport...................................................................2
1.1 Introduccin.............................................................................................................. 2
1.2 Configuracin del classpath..................................................................................... 3
1.3 DTD de JasperReport............................................................................................... 4
2 Como Generar Plantillas de Informes..........................................................................5
2.1 Introduccin.............................................................................................................. 5
2.2 Crear un Informe paso a paso.................................................................................5
2.3 !"plicacin de cada #anda.......................................................................................$
2.4 %ar&metros '(p) ...................................................................................................... *
2.5 Campos '(+)............................................................................................................ ,
2.$ -aria#les '(-)......................................................................................................... 1.
2.* !lementos de Te"to................................................................................................ 13
2., !lementos de Datos...............................................................................................14
2./ Im&genes................................................................................................................ 1$
2.1. 0rupos................................................................................................................... 1*
2.11 1u#informes........................................................................................................... 1*
2.11.1 Informe %rincipal............................................................................................. 1*
2.11.2 1u#informe..................................................................................................... 24
2.11.3 Junt&ndolo todo..............................................................................................25
2.12 %aginar un informe................................................................................................. 2$
2.13 Compilar un informe...............................................................................................2,
3 !ustes por "es#ordamiento...................................................................................... 2$
3.1 12ntomas del pro#lema...........................................................................................2/
3.2 3%ara 4u5 sir6e el a7uste por des#ordamiento8.....................................................2/
3.3 39 4u5 se de#e el pro#lema8 3:u5 es lo 4ue lo origina8......................................2/
3.4 Cmo solucionar el pro#lema.................................................................................2/
247285350.doc
IReport Tutorial
2
1 Gua Bsica de Configuracin de iReport
1.1 Introduccin
iReport es una herramienta 6isual 4ue sir6e para generar ficheros ;<= 'plantillas de informe)
4ue se puedan utili>ar con la herramienta de generacin de informes JasperReports.
iReport inicialmente se ha desarrollado en J?? por lo 4ue su entorno de e7ecucin se limita a
plataformas <icrosoft. !n sus @ltimas 6ersiones se ha pu#licado una 6ersin 1..A 7a6a con
lo cual se limita la restriccin e"istente.
!ste manual e"plica cmo configurar iReport para poder generar tanto ficheros ;<=
'plantillas #ase para JasperReport) como ficheros B.7asperC 'plantillas compiladas).
-
247285350.doc
IReport Tutorial
!
1.2 Configuracin del classpat"
9ntes de poder tra#a7ar con iReport haD 4ue configurar sus 6aria#les de classpath para
conseguir compilaciones de las plantillas con 5"ito.
%ara configurar el classpath seleccionamos el men@ B!ntorno EF Classpath...C
9parece un cuadro de di&logo como 5steG
1eg@n se indica en la He# de iReport la configuracin de la 6ersin actual sigue los
siguientes pasosG
247285350.doc
IReport Tutorial
#
1 1eleccionar la entrada classpath del menu Data#ase
2 Completar el <1 J-< para los dri6ers JDIC
3 Completar el Ja6a -< classpath para los dri6ers JDIC tools.7ar D ficheros 7ar de
JasperReportsG 'los ficheros que indica el ejemplo son)
X:\path\to\jasperreports-0.4.2-project\JasperReports\lib\commons-beanutils.jar
X:\path\to\jasperreports-0.4.2-project\JasperReports\lib\commons-collections.jar
X:\path\to\jasperreports-0.4.2-project\JasperReports\lib\commons-digester.jar
X:\path\to\jasperreports-0.4.2-project\JasperReports\lib\itext-0.92.jar
X:\path\to\jasperreports-0.4.2-project\JasperReports\lib\jasperreports.jar
X:\path\to\jasperreports-0.4.2-project\JasperReports\lib\xerces.jar
4 1et Ja6a home
1.! DTD de $asperReport
!n la carpeta BdtdsC se incluDen dos ficheros DTD necesarios para la 6alidacin de las
plantillas ;<= 4ue genera iReport 'B7asperprint.dtdC D B7asperreport.dtdC).
%or omisin iReport coloca una url del DTD con una direccin de Internet. 9l parsear la
plantilla desde JasperReport esta herramienta intenta acceder a la url 'Internet) para 6alidar
la plantilla. !n caso de 4ue no pueda acceder la operacin de 6alidacin falla. !sto es
especialmente importante para cuando colguemos las plantillas generadas en el ser6idor
Je#=ogic Da 4ue es muD posi#le 4ue la m&4uina donde est& instalado el ser6idor Je#logic
no tenga acceso a Internet.
=o 4ue se pretende con la propiedad DTDKLM<! del punto anterior es especificar una url
local 4ue e6ite el salir a Internet para 6alidar una plantilla ;<=.
=os dos ficheros DTD de#er&n copiarse a la u#icacin accesi#le mediante la url especificada
en la propiedad DTDKLM<!.
247285350.doc
IReport Tutorial
%
2 Co&o Generar 'lantillas de Infor&es
2.1 Introduccin
!ste cap2tulo trata de e"plicar cmo generar plantillas para crear informes. Lace un pe4ueNo
recorrido por los diferentes elementos D opciones de la herramienta iReport para e"plicar
cu&les son sus cometidos D sus funciones.
!s un tutorial eminentemente pr&ctico pensado para una persona con conocimientos
t5cnicos a ni6el de desarrollo con tecnolog2a ;<= D Ja6a as2 como cierta desen6oltura en el
mane7o de editores
2.2 Crear un Infor&e( paso a paso
<en@ Informes EF Oue6o
9parece un cuadro de di&logo G
Figura 1 Cuadro de dilogo de crear nueva plantilla de informe
)No&*re del infor&e+G Oom#re interno 4ue 6a a tener el informe en iReport. De#e coincidir
con el nom#re del fichero ;<=
)Ta&a,o de la pgina+G Oormalmente 94
LaD 4ue entrar en la pestaNa B-s.C. 9h2 aparece BCodificacin /-0+. 1e de#e poner
I12344%531. !so hace 4ue se puedan escri#ir BNC D no de error.
Despu5s de pulsar B26+ es #uena idea guardar el informe D Da se crea el B.;<=C con el
mismo nom#re 4ue has puesto antes en el informe.
247285350.doc
IReport Tutorial
7
2.! E8plicacin de cada *anda.
Cuando has pulsado 26 se ha creado una pantalla como la 4ue se muestra en la figura.
Figura 2 Bandas del informe
!n ella aparecen marcadas diferentes &reas 4ue llamaremos a partir de ahora B*andasC.
Cada #anda se comporta de un modo diferente.
LaD 4ue pensar 4ue un informe de iReport est& pensado a ni6el de p&gina. =o 4ue se define
es el aspecto general de una p&gina D no se pueden definir 'a priori) elementos fuera del
tamaNo de la p&gina.
!l significado de cada #anda es el siguienteG
Title 9 !sta #anda se mostrar& slo una 6e> al principio del informe tenga las p&ginas
4ue tenga el mismo.
'age:eader 9 !sta #anda es la ca#ecera de la p&ginaP se repite cada 6e> 4ue se
pinta una p&gina nue6a.
Colu&n:eader 9 !sta #anda es la ca#ecera de las columnas. Inicialmente nosotros
hemos definido slo una columna por lo 4ue su comportamiento es an&logo a
'age:eader.
Detail 9 !sta #anda es la encargada de mostrar los elementos 4ue tienen alguna
repeticin estos elementos se mostrar&n en los su#informes 4ue e"plicaremos m&s
adelante. !n esta #anda solo se de#en insertar los su#informes Da 4ue los mismos
son los encargados de hacer las repeticiones.
247285350.doc
IReport Tutorial
;
Colu&n<ooter 9 %ie de la columna. 1u comportamiento es an&logo a
Colu&n:eader.
'age<ooter 9 %ie de p&gina se repite una 6e> por p&gina. 1u comportamiento es
an&logo a 'age:eader.
1u&ar= 9 1lo se repite una 6e> por informe en la @ltima p&gina del mismo. 1u
comportamiento es an&logo a Title.
2.# 'ar&etros >?p@ .
=os par&metros se usan para definir la aparicin o no de te"tos o para mostrar alg@n 6alor
concreto 4ue no se pasa como campo'(+).
Cuando los par&metros se usan para mostrar o no un te"to tiene un 6alor BtrueC o BfalseC
por4ue tanto los par&metros como los campos '(% D (+ respecti6amente) se pasan como
te"tos 'strings).
%ara introducir los par&metros se pulsa so#re D aparece este cuadro de di&logoG
Figura 3 Cuadro de dilogo de parmetros
247285350.doc
IReport Tutorial
4
%ara aNadir un par&metro '(%) se pulsa so#re BNueAoC D aparece otro cuadro de di&logoG
)No&*re de par&etro+9 Oom#re 4ue se
4uiere dar al par&metro. 9 partir de ahora
cuando en el proDecto te 4uieras referir a
dicho par&metro lo nom#rar&s como
(%Qnom#re par&metroR.
)Tipo de par&etro+G 1iempre
7a6a.lang.1tring
)E8presin del Aalor por defecto+9 1i se
4uiere un 6alor por defecto a4u2 se escri#e
como una cadena de te"to entrecomillado. !7.G
CtrueC
)Descripcin de par&etro+9 1i se 4uiere
una descripcin del par&metro.
Figura 4 Cuadro de dilogo de propiedades de parmetros
2.% Ca&pos >?<@.
1iempre se 6an a definir como datos de tipo te"to.
1er&n los campos 4ue se recuperen de la #ase de datos D se pasen en un o#7eto
Data1ource 4ue entienda Jasper.
%ara introducir los campos se pulsa so#re D aparece este cuadro de di&logoG
247285350.doc
IReport Tutorial
5
Figura 5 Cuadro de dilogo de campos
%ara aNadir un campo '(+) se pulsa so#re BNueAoC D aparece otro cuadro de di&logoG
)No&*re del Ca&po+9 Oom#re 4ue se
4uiere dar al campo. 9 partir de ahora
cuando en el proDecto te 4uieras referir a
dicho campo lo nom#raras como
(+Qnom#re campoR.
)Tipo de ca&po+G 1iempre 7a6a.lang.1tring
)Descripcin del ca&po+9 1i se 4uiere
una descripcin del campo.
Figura 6 Cuadro de dilogo de propiedades de campo
247285350.doc
IReport Tutorial
1B
2.7 Caria*les >?C@.
1e utili>an para hacer c&lculos dentro del informe como por e7emplo calcular una suma de
campos o un paginado.
%ara introducir una 6aria#le se pulsa so#re D aparece este cuadro de di&logoG
Figura 7 Cuadro de dilogo de variables
247285350.doc
IReport Tutorial
11
%ara aNadir una 6aria#le se pulsa so#re BNueAaC D aparece otro cuadro de di&logoG
)No&*re de Aaria*le+9 Oom#re 4ue se
4uiere dar. 9 partir de ahora cuando en el
proDecto te 4uieras referir a dicha 6aria#le
la nom#raras como (-Qnom#re 6aria#leR.
)Tipo de Aaria*le+G Depende de la salida
4ue genere
)Clculo+9 1i se 4uiere hacer un c&lculo
a4u2 se dice cual.
)Reset t=pe+9 94u2 se decide cu&ndo
4uiere e6aluarse la 6aria#le
)Reset group+9 94u2 se decide el grupo
'se de#e definir con anterioridad)
Figura 8 Cuadro de dilogo de aadir variable
)E8presin+ D BCalor inicial de e8presin+9 a4u2 se escri#e una e"presin. Laciendo clic
al #otn derecho aparece un cuadro de di&logo 4ue es el BEditor de e8presionesC.
247285350.doc
IReport Tutorial
12
Figura ! "ditor de e#presiones
!n este editor se pueden crear e"presiones Bcomple7asC del tipo Bsi 9S2 entonces ; sino TC.
!ste BEditor de e8presiones+ puede a#rirse desde cual4uier &rea de te"to donde se pueda
escri#ir un (+ un (- o un (%.
247285350.doc
IReport Tutorial
1!
2.; Ele&entos de Te8to
1lo guardan te"to. 1e usar&n cuando se 4uiera poner un te"to largo 4ue como mucho se
pueda elegir mostrarlo o no dependiendo del (% asociado a 5l.
1e pulsa so#re el icono
1e coloca en la #anda en la 4ue se 4uiera mostrar D se hace do#le clicU so#re 5l. 9parece el
siguiente cuadro de di&logoG
Figura 1$ Cuadro de dilogo de elemento de te#to
!n la pestaNa BTe8to EstticoC escri#e el te"to 'sin comillas Da 4ue iReport sa#e 4ue slo
puedes escri#ir te"to).
!n la ca7a BI&pri&e cuando sea Aerdadera la e8presinC haD 4ue poner una e"presin de
tipo #ooleanoG BneH Ioolean '(%Qnom#reKpar&metroR)C 'sin comillas) sa#iendo 4ue (% 6ale
BtrueC o BfalseC. !sa e"presin puede ser comple7a usando tanto VV 'and) como WW 'or).
247285350.doc
IReport Tutorial
1#
2.4 Ele&entos de Datos
1e usar&n para mostrar los (+ (% D (- 4ue pre6iamente se han definido.
1e pulsa so#re el icono
1e coloca en la #anda en la 4ue se 4uiera mostrar D se hace do#le clicU so#re 5l. 9parece el
siguiente cuadro de di&logoG
Figura 11 Cuadro de dilogo de elementos de datos% &estaa Comunes
!n la ca7a BI&pri&e cuando sea Aerdadera la e8presinC haD 4ue poner una e"presin de
tipo #ooleanoG BneH Ioolean'(+QC9<%MR XS null)C 'sin comillas). !sa e"presin puede ser
comple7a usando tanto VV 'and) como WW 'or).
!n B'osicin+ se puede decidir si la posicin del elemento ser& fi7a o por el contrario
flotante con lo 4ue se mo6er& seg@n se hagan m&s o menos grandes los elementos 4ue le
preceden.
=as dem&s opciones de esta pestaNa son intuiti6as menos la de BI&pri&ir cuando ca&*ie
el grupoC 4ue se e"plicar& al mismo tiempo 4ue los grupos.
247285350.doc
IReport Tutorial
1%
1i se pulsa so#re la siguiente pestaNa BCa&pos de te8toC aparece el siguiente cuadro de
di&logoG
Figura 12 Cuadro de dilogo de elementos de datos% &estaa Campos de 'e#to
!n BE8presin del Ca&po de Te8toC se introduce el te"to 4ue se 4uiere mostrar D se le
concatena '?) el campo asociado a dicho te"to.
Del resto de las opciones de la pantalla es reseNa#le el BDEuste en des*orda&ientoC. !sta
opcin no funciona correctamente si en la anterior pantalla se ha definido la posicin como
BfloatC.
=a pestaNa B'ropiedades Te8toC sir6e para definir los te"tos
=a pestaNa B:iperenlaceC permite crear un hiperenlace asociado tanto a una p&gina He#
como a un ancla dentro del propio documento. !sta opcin no ser& usada apenas por4ue el
fin @ltimo de casi todos los informes es la impresin en papel.
247285350.doc
IReport Tutorial
17
2.5 I&genes.
Todas las im&genes necesarias para las plantillas se encuentran en un mismo directorio en
un siste&a de fic"eros T!. !sa ruta Da est& fi7ada dentro de Jasper por lo 4ue cuando
desde la plantilla se 4uiera introducir una imagen los pasos a seguir son los siguientesG
De7ar el fichero de imagen en BT!F&odulosFplantillasFi&agenesC
!scri#ir en el elemento de imagen de la plantilla en la casilla BE8presin de i&agenC el
nom#re del fichero con su e"tensin.
%or ahora si se introducen im&genes en el informe 5ste sigue compilando pero el B-ieHerC
de Jasper falla por lo 4ue no se puede mostrar as2 4ue lo lgico ser& hacer las plantillas sin
im&genes compilarlas D m&s tarde aNadir las im&genes cuando se 4uiere 6er el resultado
final.
1e pulsa so#re el icono
1e coloca en la #anda en la 4ue se 4uiera mostrar D se hace do#le clicU so#re 5l. 9parece el
siguiente cuadro de di&logoG
+!"presin de Imagen+9 1e
escri*e el no&*re del fic"ero
con su e8tensin .
Figura 13 Cuadro de dilogo de propiedades de imagen
247285350.doc
IReport Tutorial
1;
2.1B Grupos.
9ctualmente este recurso de iReport slo se usa para hacer 4ue los su#informes funcionen
tal como nosotros 4ueremos en cada informe. =a e"plicacin del funcionamiento de los
grupos 6a asociada al funcionamiento de los su#informes por lo 4ue ser&n e"plicados 7unto
con los mismos.
2.11 1u*infor&es.
1e usar&n slo cuando se 4uieran mostrar BnC ocurrencias de 6arios campos agrupados de
alguna forma determinada.
Lasta ahora hemos 6isto un informe como un fichero ;<= 4ue guarda la informacin
necesaria para crear el mismo.
9hora con los su#informes haD 4ue cam#iar ligeramente ese punto de 6ista. 1i un informe es
lo suficientemente comple7o para tener 6arios grupos de repeticin por e7emplo un
demandante al 4ue se le 4uieren mostrar todos los idiomas 4ue ha#la con sus caracter2sticas
'grupo1) D todos los tra#a7os 4ue ha reali>ado con sus fechas de alta D #a7a en los mismos
'grupo2) haD 4ue usar su#informes.
Yn su#informe no es m&s 4ue otro fichero ;<= asociado al fichero ;<= principal D 4ue
comparte todos o parte de sus datos.
Tanto el informe como elZlos su#informeZs se de#en definir de un modo determinado para
4ue cumplan unos re4uisitos predeterminados por Jasper.
%rimero 6amos a enumerar los re4uisitos 4ue de#e cumplir el ;<= principal. %ara hacer m&s
entendi#le la e"plicacin 6amos a seguir el proceso de creacin del informe antes
mencionado.
2.11.1 Infor&e 'rincipal.
!n el informe principal se crear&n tantos grupos como su#informes se necesiten. !n este
caso ser&n 2 uno para idiomas D otro para ocupaciones.
%ara crear el grupo se opera del siguiente modoG
1e pulsa so#re el icono D aparece el cuadro de di&logoG
Figura 14 Cuadro de dilogo de grupos
247285350.doc
IReport Tutorial
14
1e pulsa so#re el #otn BNewC D aparece este otro cuadro de di&logoG
Figura 15 Cuadro de dilogo de configuraci(n de grupos
CNo&*re del grupoCG Oom#re significati6o para reconocer el grupo 'por e7emplo Idiomas u
Mcupaciones)
BE8presin del grupoCG a4u2 se escri#e literalmente B(-QR!%MRTKCMYOTRC 'sin las
comillas). !sto hace 4ue se generen correctamente los saltos de p&gina dentro del informe.
)Dltura de la *anda ca*ecera+9 !n esta casilla se de#e poner una altura suficiente como
para meter el elemento de su#informe '%or e7emplo 2.)
)Dltura de la *anda pie+9 Inicialmente la pondremos a . por4ue no 6amos a utili>arla.
!l resto de las opciones de#en 4uedar si che4uear e"cepto BE&pieGa en nueAa pginaC si lo
4ue 4ueremos es 4ue cada grupo empiece en una p&gina nue6a 'eso depender& de la
colocacin 4ue se 4uiera en cada informe).
247285350.doc
IReport Tutorial
15
Yna 6e> tengamos creado el grupo 5ste aparecer& en nuestra pantalla del siguiente modoG
Figura 16 &antalla con el grupo de idiomas
9hora tenemos 4ue crear un elemento de su#informe dentro de ese grupo al 4ue
posteriormente le asociaremos un fichero ;<= con el su#informe apropiado.
247285350.doc
IReport Tutorial
2B
1e pulsa so#re el icono
1e coloca en la #anda de ca#ecera del grupo D se hace do#le clicU so#re 5l. 9parece el
siguiente cuadro de di&logoG
Figura 17 Cuadro de dilogo de propiedades de subinforme 1
1e define en BE8presin de la cone8in F<uente de DatosC el par&metro del sistema
B(%QR!%MRTKD9T9K1MYRC!RC 'sin comillas) 4ue hace 4ue se le pase al su#informe el
o#7eto Data1ource completo 'todos los campos) 4ue hemos definido para el informe
principal.
247285350.doc
IReport Tutorial
21
%ulsando so#re la pestaNa B1u* infor&e 2C apareceG
Figura 18 Cuadro de dilogo de propiedades de subinforme 2
!n )E8presin del su*infor&e+ se escri#e la ruta donde est& el su#informe compilado
'.7asper) Da 4ue un su#informe no es m&s 4ue un informe preEcompilado 4ue se alimenta del
contenido del informe de llamada.
247285350.doc
IReport Tutorial
22
1i se 4uieren pasar par&metros a un su#informe se pulsa so#re el #otn derecho en el
cuadro de )'ar&etros del su*infor&e+ D aparece el siguiente cuadro de di&logoG
)No&*re+ 9 Oom#re 4ue se dar& al
par&metro en el su#informe
)E8presin+ 9 -alor del par&metro. !ste
6alor puede ser una e"presin D si pulsas en
el #otn derecho puedes a#rir el BEditor de
e8presionesC.
Figura 1! Cuadro de dilogo de parmetros de subinfome
247285350.doc
IReport Tutorial
2!
Despu5s de hacer esto el aspecto de la pantalla ser& el siguienteG
Figura 2$ &antalla con el subinforme de idiomas
247285350.doc
IReport Tutorial
2#
Repitiendo el proceso de nue6o para el segundo grupo D su su#informe 'ocupaciones) el
aspecto final del informe principal ser2a el siguienteG
Figura 21 &antalla con el subinforme de idiomas ) el subinforme de ocupaciones
Como se puede apreciar hemos eliminado la #anda de detalle por4ue el detalle lo 6a a hacer
el su#informe D por lo tanto Da no es necesaria.
2.11.2 1u*infor&e.
Yn su#informe no es m&s 4ue un informe normal pero 4ue toma todos sus datos de otro
informe D es llamado desde 5l.
Jasper slo puede tener asociado un fichero fuente ';<=) a la hora de la generacin del
informe por lo 4ue todos los ficheros de su#informes de#er&n estar preEcompilados '.7asper)
para 4ue Jasper los entienda.
!l fichero ;<= en el 4ue definamos el su#informe de#e llamarse igual 4ue el fichero B.7asperC
4ue hemos definido en la llamada al su#informe desde el informe principal. !n el caso de
idiomas el fichero se llamar& BdatosKidiomas.;<=C. Cuando compilemos este fichero se
247285350.doc
IReport Tutorial
2%
generar& el fichero BdatosKidiomas.7asperC 4ue ser& el 4ue utili>aremos para 4ue Jasper
genere el informe.
Lacemos el su#informe de la forma normal pero teniendo en cuenta lo siguienteG
Cuando definimos el tamaNo del informe el ancho del mismo a de ser el mismo 4ue
el ancho del elemento Bsu#reportC 4ue hemos pintado en la pantalla del informe
principal.
LaD 4ue ponerle todos los m&rgenes a . Da 4ue los m&rgenes Da los tiene el informe
principal.
Oo se de#e paginar. De eso se tiene 4ue encargar el informe principal.
=os elementos 4ue 4ueramos 4ue se repitan tienen 4ue ir en la #anda de detalle.
2.11.! $untndolo todo.
9hora solo 4ueda generar los ficheros B.7asperC para 4ue los pueda usar el informe principal.
%ara eso lo primero 4ue tenemos 4ue hacer es compilar nuestro fichero ;<= 'en nuestro
caso BdatosKidiomas."mlC) para generar el fichero B.7asperC 'en nuestro caso
BdatosKidiomas.7asperC).
Yna 6e> compilado se copia el fichero 7asper a la ruta 4ue pre6iamente se a definido en el
elemento de su#report dentro del informe principal.
!ste proceso lo haremos tantas 6eces como su#informes tengamos definidos 'en nuestro
caso dos).
247285350.doc
IReport Tutorial
27
2.12 'aginar un infor&e.
Oormalmente utili>aremos la #anda del pie de p&gina aun4ue tam#i5n se puede utili>ar la
ca#ecera de la p&gina Da 4ue esas dos #andas se repiten una 6e> por p&gina.
%rimero definimos un elemento de campo B<ield ToolC D en BE8presin del Ca&po de
Te8toB escri#imos B%&gina B ? 1tring.6alueMf'(-Q%90!KOY<I!RR) ? B de B.
!l B-o&ento de eAaluacin+ es muD importante Da 4ue decide en 4u5 momento se tiene
4ue pintar el 6alor de la 6aria#le asociada. !n este caso de#emos seleccionar BNowC para
4ue nos indi4ue en 4ue p&gina nos llegamos en ese momento.
Figura 22 Cuadro de dilogo de creaci(n de paginaci(n *
Con esto Da tenemos la primera parte del paginado.
9hora nos falta la segunda parte 4ue es sa#er cu&ntas p&ginas 6a a tener nuestro informe.
%ara eso operamos de igual manera 4ue la 6e> anteriorG
9 continuacin del primer elemento de campo definimos un segundo elemento. T en la
BE8presin del Ca&po de Te8toB escri#imosG
BB B ? 1tring.6alueMf'(-Q%90!KOY<I!RR)C
247285350.doc
IReport Tutorial
2;
%ero esta 6e> B-o&ento de EAaluacin+ ha de ser BReportC lo 4ue hace 4ue esa 6aria#le
se escri#a una 6e> terminado el informe con lo 4ue contendr& el n@mero de p&ginas del
mismo.
Figura 23 Cuadro de dilogo de creaci(n de paginaci(n ) **
!l resultado final para la p&gina 3 de nuestro informe de 1. p&ginas ser&G
B%&gina 3 de 1.C.
247285350.doc
IReport Tutorial
24
2.1! Co&pilar un infor&e.
1e pulsa so#re el icono
9parece el cuadro de di&logo siguienteG
Figura 24 Cuadro de dilogo de compilaci(n de informe
94u2 se puede elegir si slo se 4uiere compilar 'generar el .7asper) o adem&s se 4uiere pasar
el informe a alg@n formato determinado 'leer la lista desplegando la ca7a de seleccin).
Tanto el fichero B.7asperC 'slo compilar) como los ficheros de e"portacin se guardan en el
mismo directorio en el 4ue est5 la plantilla del informe '.;<=).

247285350.doc
IReport Tutorial
25
! DEustes por Des*orda&iento
!.1 1nto&as del pro*le&a
!l denominado [%ro#lema de a7uste por des#ordamiento[ se detecta cuando al generar un
informe se produce un [corte[ del te"to a mostrar D ese [corte[ est& en relacin con un
campo de te"to con el atri#uto de a7uste por des#ordamiento acti6o.
-isto desde el ;<= asociado a la plantilla de informe es el siguiente cdigoG
\te"t+ield is1tretchJithM6erfloHS[true[ ...F
...
\Zte"t+ieldF
Mtro s2ntoma de 4ue haD este pro#lema es 4ue al rellenar el informe el sistema 'ser6idor de
aplicaciones) entra en un #ucle infinito 'parece como 4ue se 4ueda [#lo4ueado[) del 4ue o
#ien tarda en salir con una e"cepcin de agotamiento de memoria o #ien el ser6idor aca#a
cerr&ndose 5l solo.
Cuando se constata este s2ntoma haD 4ue aplicar la [segunda etapa[ del tratamiento
o#ligatoriamente '6er punto Bcomo solucionar el pro#lemaC)
!.2 H'ara IuJ sirAe el aEuste por des*orda&ientoK
!sta opcin se utili>a cuando se tienen campos de te"to en los 4ue a priori no se conoce cual
es su tamaNo 6ertical o altura.
!s decir 4ue al asignar el 6alor al campo cuando se rellena el informe el tamaNo de a4uel
puede ser m&s grande 4ue el asignado inicialmente en tiempo de diseNo 'e7emplo t2pico es el
4ue ocupe 6arias l2neas).
!.! HD IuJ se de*e el pro*le&aK HLuJ es lo Iue lo originaK
!l pro#lema est& en los c&lculos 4ue se reali>an en el proceso de [laDout[ del informe
'cuando se est& rellenando).
1e utili>an propiedades de o#7etos [+ont[ 'fuente de letra) para asignar espacio a los te"tos
4ue se escri#en en el informe estando acotado el espacio usa#le a las dimensiones de la
plantilla D de las #andas de 5sta.
9dem&s la com#inacin de dos distintas m&4uinas 6irtuales Ja6a 'en el ser6idor se utili>a
Ja6a 1.3 D en el cliente Ja6a 1.4) cuando entre am#as haD diferencia de unidades de medida
en cuanto a dimensiones de o#7etos gr&ficos 'D las fuentes lo son G) 7unto con un [#ug[ 'o
como dir2an otros [funcionalidad[) de [iReport[ 4ue omite un informacin crucial en las
plantillas generadas a partir de 5l hace 4ue en algunas situaciones se produ>ca el terri#le
pro#lema del malfuncionamiento del a7uste por des#ordamiento.
!.# C&o solucionar el pro*le&a
LaD dos etapas distintas 4ue nos permiten solucionar este pro#lema.
1i con la primera etapa se soluciona no 6a a ser necesario ir a la segunda.
247285350.doc
IReport Tutorial
!B
1. 'ri&era etapa9
9plica#le cuando se producen los cortes de te"to.
!ditar la plantilla de informe con la herramienta [iReport[ 6ersin 1... '1) superior. T
guardarla. !s decir la a#res D la guardas 'so#rescri#i5ndola)
'1) SF 9 partir de esta 6ersin de [iReport[ se ha corregido la [funcionalidad[ 4ue omit2a
cierta informacin 4ue afecta#a directamente a 4ue se produ7ese el pro#lema.
2. 1egunda etapa9
9plica#le cuando el sistema entra en estado de #ucle infinito.
1i estamos a4u2 es 4ue el informe tiene comple7idad aNadida.
%osi#lemente la situacin est& en 4ue el a7uste 4ue se est& reali>ando 'el aumento de
tamaNo 6ertical) no es suficiente para los datos 4ue se est&n utili>ando en el relleno del
informe.
%ara solucionarlo haD 4ue editar la plantilla 'con [iReport[ 6ersin 1... o superior o
directamente el ;<= con un editor) D aumentar el par&metro de altura del campo de
te"to.
-isto desde el ;<= asociado a la plantilla de informe es el siguiente cdigoG
\te"t+ield is1tretchJithM6erfloHS[true[ heightS[1,[ ...F
...
\Zte"t+ieldF
Yna manera de calcular 4u5 altura 'height) indicar es utili>ar la siguiente frmulaG
tdl S tamaNo de letra. 1e corresponde con al atri#uto [si>e[ de la eti4ueta B\fontF[ el
campo de te"to.
!7emploG \font fontOameS[Lel6etica[ pdf+ontOameS[Lel6etica[ si>eS[,[...F
nafot S n@mero apro"imado de filas 4ue se espera 4ue ocupe el te"to.
CI S Cte.. 1u 6alor es 2 G
altura 'height) S 'tdl ] nafot) ? CI
247285350.doc
IReport Tutorial
!1
%or e7emplo si esperamos 4ue haDa tres l2neas de te"to como m&"imo D nuestro
tamaNo de letra es , la altura ser2aG
altura S ', ] 3) ? 2 S 2$
ImportanteG esta frmula da una estimacin del 6alor a utili>ar '). !n caso de 4ue el
6alor resultante no fuese suficiente haD 4ue incrementarlo.
-
247285350.doc
IReport Tutorial

Vous aimerez peut-être aussi