Al llamar al reporte directamente me anda lo mas bien pero cuando lo quiero usar como sobreporte me muestra todo en blanco. Ya busque y busque y lo que me pareció mas prometedor es esto
Código XML:
Ver original
<property name="ireport.zoom" value="1.0"/> <property name="ireport.x" value="0"/> <property name="ireport.y" value="15"/> <parameter name="DataSurse" class="net.sf.jasperreports.engine.data.JRBeanCollectionDataSource"/> <parameter name="SubReport" class="net.sf.jasperreports.engine.JasperReport"/> <parameter name="Nombre" class="java.lang.String"/> <parameter name="Rut" class="java.lang.Long"/> <parameter name="Tel" class="java.lang.String"/> <parameter name="Cel" class="java.lang.String"/> <parameter name="Dir" class="java.lang.String"/> <parameter name="Fecha" class="java.util.GregorianCalendar"/> <parameter name="Num_Factura" class="java.lang.Integer"/> <background> <band splitType="Stretch"/> </background> <title> <band height="802" splitType="Stretch"> <subreport> <reportElement x="17" y="52" width="557" height="450"/> <subreportParameter name="Dir"> <subreportParameterExpression><![CDATA[$P{Dir}]]></subreportParameterExpression> </subreportParameter> <subreportParameter name="Fecha"> <subreportParameterExpression><![CDATA[$P{Fecha}]]></subreportParameterExpression> </subreportParameter> <subreportParameter name="Rut"> <subreportParameterExpression><![CDATA[$P{Rut}]]></subreportParameterExpression> </subreportParameter> <subreportParameter name="Cel"> <subreportParameterExpression><![CDATA[$P{Cel}]]></subreportParameterExpression> </subreportParameter> <subreportParameter name="Nombre"> <subreportParameterExpression><![CDATA[$P{Nombre}]]></subreportParameterExpression> </subreportParameter> <subreportParameter name="Num_Factura"> <subreportParameterExpression><![CDATA[$P{Num_Factura}]]></subreportParameterExpression> </subreportParameter> <subreportParameter name="Tel"> <subreportParameterExpression><![CDATA[$P{Tel}]]></subreportParameterExpression> </subreportParameter> <dataSourceExpression><![CDATA[$P{DataSurse}]]></dataSourceExpression> <subreportExpression class="net.sf.jasperreports.engine.JasperReport"><![CDATA[$P{SubReport}]]></subreportExpression> </subreport> </band>
Y el codigo de Java es el siguiente
Código Javascript:
Ver original
ç JasperReport masterReport = (JasperReport) JRLoader.loadObject(new File ("ContenedorFactura.jasper")); JasperReport SubReporte = (JasperReport) JRLoader.loadObject(new File ("Factura.jasper"));; Map parametro = new HashMap(); LogN_ClassAb_Persona ObjPer = xObjFac.getPersona(); String Tel = ""; ArrayList ColT = ObjPer.getmColTel(); if (ColT.size() != 0)Tel = ColT.get(0).toString(); String Cel = ""; ColT = ObjPer.getmColCel(); if (ColT.size() != 0)Cel = ColT.get(0).toString(); GregorianCalendar Fechca = new GregorianCalendar(); Fechca.setTime(xObjFac.getFech()); parametro.put("Nombre", ObjPer.getmRasSos()); parametro.put("Rut", ObjPer.getmNumDoc()); parametro.put("Tel", Tel); parametro.put("Cel", Cel); parametro.put("Dir", ObjPer.getmDir()); parametro.put("Fecha", Fechca); parametro.put("Num_Factura", xObjFac.getNum()); JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(xObjFac.getmColLinF()); parametro.put("DataSurse", ds ); parametro.put("SubReport", SubReporte); JasperPrint jasperPrint = JasperFillManager.fillReport(masterReport, parametro, ds); JasperPrintManager.printReport(jasperPrint, false);
Agradezco cualquier ayudo o orientación