Ver Mensaje Individual
  #2 (permalink)  
Antiguo 15/01/2011, 09:58
Avatar de HackmanC
HackmanC
 
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 9 meses
Puntos: 260
Sonrisa Respuesta: duda sobre ireports

Hola,

No estoy seguro si existen métodos dentro de JasperReports para manipular la estructura del reporte, pero dependiendo de la complejidad de tu aplicación podrías crear o modificar el archivo .jrxml con código, con alguna librería de XML como xerces o algo parecido.

Los reportes de IReport son almacenados en XML, puedes crear el documento XML externamente y transferirlo al compilador Jasper para validar el reporte. Puedes crear un documento en IReports y ver el resultado del archivo .jxrml almacenado en el disco con un editor de textos.

Tendrías que probar mucho para ver todas las opciones, realmente estarías haciendo un programa parecido a IReport así que podrías revisar el código de IReport para ver si existe una funcionalidad mas simple de realizarlo.

Por ejemplo, el encabezado y el header de un archivo .jxrml creado con IReport:

Código XML:
Ver original
  1. <?xml version="1.0" encoding="UTF-8"  ?>
  2. <!-- Created with iReport - A designer for JasperReports -->
  3. <!DOCTYPE jasperReport PUBLIC "//JasperReports//DTD Report Design//EN" "http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">
  4. <jasperReport
  5.          name="jaspReport01"
  6.          columnCount="1"
  7.          printOrder="Vertical"
  8.          orientation="Portrait"
  9.          pageWidth="612"
  10.          pageHeight="792"
  11.          columnWidth="552"
  12.          columnSpacing="0"
  13.          leftMargin="30"
  14.          rightMargin="30"
  15.          topMargin="20"
  16.          bottomMargin="20"
  17.          whenNoDataType="NoPages"
  18.          isTitleNewPage="false"
  19.          isSummaryNewPage="false">
  20.     <property name="ireport.scriptlethandling" value="0" />
  21.     <property name="ireport.encoding" value="UTF-8" />
  22.     <import value="java.util.*" />
  23.     <import value="net.sf.jasperreports.engine.*" />
  24.     <import value="net.sf.jasperreports.engine.data.*" />
  25.  
  26. ....
  27.         <pageHeader>
  28.             <band height="50"  isSplitAllowed="true" >
  29.                 <staticText>
  30.                     <reportElement
  31.                         x="0"
  32.                         y="6"
  33.                         width="552"
  34.                         height="23"
  35.                         key="staticText-4"/>
  36.                     <box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
  37.                     <textElement textAlignment="Center">
  38.                         <font size="18"/>
  39.                     </textElement>
  40.                 <text><![CDATA[MI REPORTE S. A.]]></text>
  41. ...

Saludos,