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. 
  
 

