Foros del Web » Programación para mayores de 30 ;) » Java »

Subreporte Con iReport

Estas en el tema de Subreporte Con iReport en el foro de Java en Foros del Web. Buenas Tardes a todos, Tengo un problema con iReport al tratar de asignar un datasource a un subreporte que mando como parámetro al reporte maestro, ...
  #1 (permalink)  
Antiguo 08/04/2011, 12:06
 
Fecha de Ingreso: abril-2011
Mensajes: 1
Antigüedad: 12 años, 11 meses
Puntos: 0
Exclamación Subreporte Con iReport

Buenas Tardes a todos,

Tengo un problema con iReport al tratar de asignar un datasource a un subreporte que mando como parámetro al reporte maestro, las versiones que estoy utilizando son las siguientes:

iReport 2.0.4
j2sdk 1.4.2_19

a continuación pongo el código utilizado para llenar el reporte:

List array1 = new ArrayList();
HashMap parameterMap = new HashMap();

array1.add(new Person("Alberto",20));
array1.add(new Person("Pedro",10));

datasource1 = new JRBeanCollectionDataSource(array1);

parameterMap.put("datasource1",datasource1);

JasperDesign jasperDesign = JRXmlLoader.load(reportStream);
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
JasperPrint jasperPrintPDF = JasperFillManager.fillReport(jasperReport, parameterMap, datasource);

El bean utilizado Persona es el siguiente:

public class Person {

private String name = "";
private int age = 0;

...

con sus getters y setters respectivamente.

El reporte y el subreporte son creados con iReport, a continuación pongo el código del reporte y del subreporte:


<pageHeader>
<band height="50" isSplitAllowed="true" >
<subreport isUsingCache="true">
<reportElement x="0" y="0" width="101" height="18" key="subreport-1"/>
<dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionD ataSource($P{array1})]]> </dataSourceExpression>
<subreportExpression class="java.lang.String"><![CDATA[$P{SUBREPORT_DIR} + "PRUEBA_DATASOURCES_subreport0.jasper"]]>
</subreportExpression>
</subreport>
</band>
</pageHeader>

El código del subreporte es el siguiente:

<detail>
<band height="103" isSplitAllowed="true" >
<textField isStretchWithOverflow="false" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None" hyperlinkTarget="Self" >
<reportElement x="14" y="26" width="112" height="43" key="textField-1"/>
<box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
<textElement>
<font/>
</textElement>
<textFieldExpression class="java.lang.String">
<![CDATA[$F{name}]]>
</textFieldExpression>
</textField>
</band>
</detail>

Para agregar el dataSource al subreporte, abro las propiedades del subreporte y en la pestaña "Subreport" en la sección "Connection/Data Source Expression", selecciono la opción "Use data source expression" y como expresión pongo lo siguiente:

new net.sf.jasperreports.engine.data.JRBeanCollectionD ataSource($P{array1})

Con esta configuración no imprime nada en el subreporte, llevo varios días tratando de resolver este problema, lo cual no he logrado, agradecería mucho si alguien tiene la solución y la pudiera compartir conmigo.

Muchas Gracias.

Saludos.

Etiquetas: datasource, ireport, jasper, subreporte
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:17.