Die JasperReport-Designdatei gibt das Layout und die Darstellung des Berichts an. Falls Sie keine funktionsfähige Designdatei (mit der Erweiterung '.jasper') importieren, müssen Sie eine solche Datei erstellen oder eine Datei ändern.
Sie können als Quelle eine Datei mit der Erweiterung '.xml' auswählen; dies kann jedoch die Kompilierung verlangsamen. JasperReports funktioniert am besten bei Dateien mit der Erweiterung '.jrxml'.
Beispiel für eine Berichtsdesigndatei:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jasperReport PUBLIC
"//JasperReports//DTD Report Design//EN"
"http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">
<jasperReport name="simpleReport">
<field name="CUSTOMER_ID" class="java.lang.String" />
<field name="FIRST_NAME" class="java.lang.String" />
<field name="LAST_NAME" class="java.lang.String" />
<field name="PHONE" class="java.lang.String" />
<pageHeader>
<band height="30">
<staticText>
<reportElement x="0" y="0" width="70" height="24" />
<text>
<![CDATA[Customer ID: ]]>
</text>
</staticText>
<staticText>
<reportElement x="140" y="0" width="70" height="24" />
<text>
<![CDATA[First name: ]]>
</text>
</staticText>
<staticText>
<reportElement x="280" y="0" width="70" height="24" />
<text>
<![CDATA[Last name: ]]>
</text>
</staticText>
<staticText>
<reportElement x="420" y="0" width="70" height="24" />
<text>
<![CDATA[Phone: ]]>
</text>
</staticText>
</band>
</pageHeader>
<detail>
<band height="30">
<textField>
<reportElement x="0" y="0" width="70" height="24" />
<textFieldExpression>
<![CDATA[$F{CUSTOMER_ID}]]>
</textFieldExpression>
</textField>
<textField>
<reportElement x="140" y="0" width="70" height="24" />
<textFieldExpression>
<![CDATA[$F{FIRST_NAME}]]>
</textFieldExpression>
</textField>
<textField>
<reportElement x="280" y="0" width="70" height="24" />
<textFieldExpression>
<![CDATA[$F{LAST_NAME}]]>
</textFieldExpression>
</textField>
<textField>
<reportElement x="420" y="0" width="70" height="24" />
<textFieldExpression>
<![CDATA[$F{PHONE}]]>
</textFieldExpression>
</textField>
</band>
</detail>
</jasperReport>
Mit diesem Beispiel für eine Berichtsdesigndatei werden vier Spalten mit Informationen gedruckt: eine ID-Nummer (Customer ID), ein Vorname (First name), ein Nachname (Last name) und eine Telefonnummer (Phone). Mit dem Abschnitt <pageHeader> werden Spaltenüberschriften gedruckt. Mit dem Abschnitt <detail> werden auf Basis der Daten, die vom Berichtstreiberprogramm bereitgestellt werden, Zeilendaten gedruckt.
Die folgenden Abschnitte bieten Spezifikationen für die unterschiedlichen Typen von XML-Quellendateien. Diese Informationen decken sehr einfache Fälle ab; komplexere Beispiele finden Sie auf der zuvor genannten JasperReports-Website oder in der Dokumentation zu Ihrem Entwurfstool (wenn Sie eines verwenden).
<queryString><![CDATA[SELECT * FROM Tabellenname]]></queryString>
<field name="Feldname" class="java.lang.Klassentyp"></field>
<textFieldExpression class="java.lang.Klassentyp">
<![CDATA[$F{Feldname}]]>
</textFieldExpression>
<field name="Feldname" class="java.lang.Klassentyp"></field>
<textFieldExpression class="java.lang.Klassentyp">
<![CDATA[$F{Feldname}]]>
</textFieldExpression>
<field name="Feldname" class="java.lang.Klassentyp"></field>
<textFieldExpression class="java.lang.Klassentyp">
<![CDATA[$F{Feldname}]]>
</textFieldExpression>
EGL platziert die kompilierte '.jasper'-Datei in das Verzeichnis Java Resources\Paketname, das parallel zu EGLSource\Paketname vorhanden ist. Wenn Sie Ihren EGL-Berichtstreiber erfolgreich generieren, platziert das Produkt eine verknüpfte Kopie der '.jasper-Datei' in das parallele Verzeichnis bin\Paketname. Sie können die '.jasper'-Datei manuell erstellen und kopieren, wenn Sie oder auswählen.
Richtlinien für die gleichzeitige Erstellung eines XML-Gestaltungsdokuments und eines Berichtshandlers finden Sie in Mit JasperReports Berichte erstellen. Ein Beispiel, in dem gezeigt wird, wie ein XML-Gestaltungsdokument einen Datensatz für Berichtsdaten aus dem Berichtshandler abruft, finden Sie in Code zum Erstellen eines Berichts mit dem Typ 'JasperReport' schreiben.