iReport: Fehler beim kompilieren Bericht mit Unterbericht
Den folgenden .jrxml:
<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="DTC-Campaigns-Block-Campaigns-Helper-Campaigns" language="groovy" pageWidth="794" pageHeight="450" orientation="Landscape" columnWidth="794" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0">
<queryString><![CDATA[SELECT 1;]]></queryString>
<detail>
<band height="50" splitType="Stretch">
<subreport>
<reportElement x="0" y="0" width="794" height="25"/>
<subreportExpression class="java.lang.String"><![CDATA["./test.jasper"]]></subreportExpression>
</subreport>
</band>
</detail>
</jasperReport>
nicht kompilieren innerhalb von iReport 3.6.0:
Compiling to file... /home/dominik/workspace/project1/reporting/MyFile.jasper
Compiling subreports....
Unable to locate the subreport with expression: "$P{SUBREPORT_DIR} + "test.jasper"".
Sogar die Befestigung SUBREPORT_DIR
zu ./
wird nicht helfen, weder kompilieren test.jrxml
manuell vor dem Meister Bericht.
Irgendwelche Ideen?
InformationsquelleAutor Dominik Sandjaja | 2009-09-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
In der jrxml-Extrakt, die Sie nicht angeben, dass SUBREPORT_DIR ist ein String-parameter... Sie können diese Informationen hinzufügen.
Ich auch feststellen, eine änderung der Verhaltensweisen zwischen version 3.5.2 und 3.5.3
Changelog von version 3.5.3 sagt :
Als Folge einstellen Unterbericht, der Pfad scheint nicht zu arbeiten, nicht mehr...
(aber ich erinnerte mich immer eine Warnung und nicht ein fail).
Haben Sie versucht :
$P{SUBREPORT_DIR} + "test.jrxml"
und ohne parameter (wie"test.jrxml"
-- der Unterbericht muss in das gleiche lokale Verzeichnis wie den Hauptbericht)InformationsquelleAutor Jmini
Kannst du nicht bestimmen des aktuellen Verzeichnisses und übergibt als parameter? So mache ich es und es funktioniert ganz gut. Wenn Sie die Integration von Jasper Reports in code, den Sie können sogar einige code, um den vollständigen Pfad des aktuellen Verzeichnisses in Java und übergeben es durch eine HashMap.
Sie können einen Standardwert für den parameter, und der Benutzer aufgefordert, es zu ändern, wenn nötig. Jasper scheint zu sein, verwenden nur ein full Weg, nicht einen relativen Pfad (<code>./foo</code>), wie Sie versuchen. Relative Pfade sind ein bisschen bequemer, aber sollte nur als unbedingt notwendig bei der Einbindung in ein Programm, in welchem Sie bestimmen können, den vollständigen Pfad von den relativen Pfad sowieso.
InformationsquelleAutor sventechie
Um dieses problem zu lösen, müssen Sie den absoluten Pfad in der $P{SUBREPORT_DIR}.
Es getan werden kann in iReport im Eigenschaften-Fenster, in das Attribut "Default Value Expression".
Für eine bessere Erklärung finden Sie unter: http://jasperforge.org/plugins/espforum/view.php?group_id=83&forumid=101&topicid=62793
InformationsquelleAutor ezmarques
brauchen Sie nicht zu zählen SUBREPORT_DIR in einem Unterbericht... solange supreport ist im gleichen Verzeichnis, wie im Hauptbericht.. wäre es kein problem...Kompilierung erfolgt, wenn Sie eine Vorschau der jrxml-Datei...
InformationsquelleAutor jhen
Problem erscheint nicht mehr mit neueren Versionen von JasperReports (zumindest nicht in meinem Fall).
InformationsquelleAutor Dominik Sandjaja
In meinem Fall: In der Eigenschaft
Subreport Expression
des property-editor habe ich Hinzugefügt, die PARAMETERSUBREPORT_DIR
und ein/
zu bekommen so etwas wie:InformationsquelleAutor Hendo
Ich bin mit iReport version 3.7.3
Das Problem kann behoben werden, in zwei Arten:
1.Weisen Sie den Wert des Parameters SUBREPORT_DIR einer Variablen zu, und verwenden Sie die Variablen statt parameter wie:
Stellen Sie sicher, dass die "Variable Expression" set as $P{SUBREPORT_DIR}
2.Legen Sie die "Default Value Expression" der parameter SUBREPORT_DIR als $P{SUBREPORT_DIR} und verwenden Sie es wie:
InformationsquelleAutor Praveen P Moolekandathil