Veröffentlicht 15. Juni 200916 j Hallo zusammen, ich habe ein Problem mit JasperReport. Ich habe ein Master- und ein Subreport. Als Datenquelle habe ich die XML-Datei. Im iReport habe ich das schon ausgetestet und es funktioniert. Beim Ausführen von Java-Code bleibt aber das Subreport leer. Ich bekomme nur folgende Warnung: ------------------------------------------------------------------------ net.sf.jasperreports.engine.query.JRXPathQueryExecuter <init> WARNUNG: The supplied org.w3c.dom.Document object is null. ------------------------------------------------------------------------ Ich habe schon in Foren nach der Lösung gesucht, man redet immer über die Übergabe von Parameter für das Subreport. Wo muß das eigegeben werden? In Java-Quellcode oder in jrxml-Datei? Hier noch die Auszüge aus der Dateien: Java-Code: Document document = JRXmlUtils.parse(new File ("C:/Dokumente und Einstellungen/Workspace/JasperReport_PDF/Datei1.xml")); JRXmlDataSource jrds = new JRXmlDataSource(document,"/xPath"); parameter.put(JRXPathQueryExecuterFactory.PARAMETER_XML_DATA_DOCUMENT, document); jasperReport = JasperCompileManager.compileReport("Datei2.jrxml"); jasperPrint = JasperFillManager.fillReport(jasperReport, parameter, jrds); JasperExportManager.exportReportToPdfFile(jasperPrint, "out/Datei3.pdf"); jrxml-Datei: ... <parameter name="SUB_REPORT" isForPrompting="true" class="net.sf.jasperreports.engine.JasperReport"> <defaultValueExpression/> </parameter> ... <band height="120" isSplitAllowed="true" > <subreport isUsingCache="true"> <reportElement x="3" y="7" width="457" height="106" key="subreport-2"/> <subreportParameter name="XML_DATA_DOCUMENT"> <subreportParameterExpression><![CDATA[$P{SUB_REPORT}]]></subreportParameterExpression> </subreportParameter> <subreportExpression class="java.lang.String"><![CDATA["subreport_myfirst.jasper"]]></subreportExpression> </subreport> </band> ... Ich hoffe, jemand kann mir mit den Parametern weiter helfen. Und danke für eine schnelle Antwort!
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.