# Jasper Rep. mit iReport erstellt - Page Footer leer



## davidklok (26. Februar 2007)

Hallo,

wie schon in der Überschrift dargelegt, habe ich einen Report mit iReport erstellt. Dieser funktioniert im Grunde auch gut. Das Problem ist, dass der Page Footer immer leer bleibt ?!
Da sollte ein statischer Text enthalten sein - aber nix ?! Der Last Page Footer funktioniert aber.

Habe ich etwas Falsch gemacht oder vergessen? 
Besten Dank für jede Hilfe.

MfG 
DK

edit: 

Neue Problemanalyse:

Wenn der LastPagefooter eine Höhe > 0 hat, wird der PageFooter nicht dargestellt. Wenn die Höhe des LastPageFooter = 0, wird der PageFooter dargestellt. Ich benötige den PageFooter als auch den LastPageFooter.
Woran könnte denn das liegen?


----------



## davidklok (11. März 2007)

Hat niemand eine Idee, woran das liegen könnte?


----------



## jeipack (12. April 2007)

Hi davidklok
Das Wissen um iReport ist etwas allgemein nicht sehr gross (nicht blos hier).
Was ich weiss ist, dass das von dir beschriebene Verhalten nicht so gedacht ist.
Wenns immer noch aktuell ist kannst du ja mal das xml file posten.
Mit welcher iReportversion hast du das ganze erstellt?

MFG
jeipack


----------



## davidklok (13. April 2007)

Hallo,

danke, dass Du das Thema nochmal angeschaut hast, obwohl es schon alt ist.

Also ich bin jetzt zu der Erkenntnis gekommen, dass ein PageFooter und LastPageFooter nicht gleichzeitig dargstellt werden können. Wenn ich die LastPageFooter Höhe auf 0 stelle, wird das PageFooter angezeigt. Stellt man für die Höhe des LPF eine nur 1 ein, ist das PageFooter wieder ausgeblendet.
Habe das auch mal von einem Kollegen reproduzieren lassen - er bestätigte dieses Phänomen. Obwohl das ja sicherlich nicht so sein sollte.
Habe verschiedene Versionen zu Erstellung genutzt. 1.2.7 und 1.3.1. mit jeweils den selben Ergebnissen. 
Man kann das relativ einfach reproduzieren -> Einfach mal einen neuen Bericht anlegen und in den LPF und PF statischen Text einfügen. 


Vielleicht findest Du ja noch eine Lösung.
Besten Dank nochmal!

MfG


----------



## jeipack (13. April 2007)

hmm.. ich kann dieses Phänomen nicht bestätigen. Habe hier ein iReport 1.3.1 und kompiliere das ganze auch mit JasperReport 1.3.1.
In einem Bericht kann ich ohne Probleme einen PageFooter und einen LastPageFooter mit unterschiedlichen Inhalten verwenden.
Wie gesagt, wenn du das xml frei gibst kann ich das mal mit deinem Bericht austesten..

Gruss


----------



## davidklok (13. April 2007)

Hallo habe gerade mal ein Beispiel mit 1.3.1 erstellt.

http://www.xhb.de/test1.jrxml

und 

http://www.xhb.de/test1.pdf

In der jrxml sieht man, dass ich den PF und LPF mit statischem Text bestücke und in der PDF nur der LPF enthalten ist.


----------



## jeipack (13. April 2007)

Also ich weiss nicht was du falsch machst, ich hab bei deinem Report noch ein Feld im detail bereich hinzugefügt (damit ich mehr als eine Seite habe) und habe nun 2 Seiten. Auf der ersten Seite habe ich den pagefooter auf der zweiten den lastpagefooter.
Wenn ich natürlich nur eine Seite habe, dann wird nur der lastpagefooter dargestellt..

Das ganze sieht nun so aus:


```
<?xml version="1.0" encoding="UTF-8"  ?>
<!-- Created with iReport - A designer for JasperReports -->
<!DOCTYPE jasperReport PUBLIC "//JasperReports//DTD Report Design//EN" "http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">
<jasperReport
		 name="test1"
		 columnCount="1"
		 printOrder="Vertical"
		 orientation="Portrait"
		 pageWidth="595"
		 pageHeight="842"
		 columnWidth="535"
		 columnSpacing="0"
		 leftMargin="30"
		 rightMargin="30"
		 topMargin="20"
		 bottomMargin="20"
		 whenNoDataType="NoPages"
		 isTitleNewPage="false"
		 isSummaryNewPage="false">
	<property name="ireport.scriptlethandling" value="0" />
	<property name="ireport.encoding" value="UTF-8" />
	<import value="java.util.*" />
	<import value="net.sf.jasperreports.engine.*" />
	<import value="net.sf.jasperreports.engine.data.*" />

	<queryString><![CDATA[Select * from test]]></queryString>

	<field name="ID" class="java.lang.Long"/>
	<field name="erste" class="java.lang.Long"/>
	<field name="zweite" class="java.lang.Long"/>
	<field name="dritte" class="java.lang.Long"/>

		<background>
			<band height="0"  isSplitAllowed="true" >
			</band>
		</background>
		<title>
			<band height="50"  isSplitAllowed="true" >
			</band>
		</title>
		<pageHeader>
			<band height="50"  isSplitAllowed="true" >
			</band>
		</pageHeader>
		<columnHeader>
			<band height="30"  isSplitAllowed="true" >
			</band>
		</columnHeader>
		<detail>
			<band height="271"  isSplitAllowed="true" >
				<textField isStretchWithOverflow="false" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
					<reportElement
						x="78"
						y="3"
						width="100"
						height="263"
						key="textField"/>
					<box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
					<textElement>
						<font/>
					</textElement>
				<textFieldExpression   class="java.lang.Long"><![CDATA[$F{erste}]]></textFieldExpression>
				</textField>
			</band>
		</detail>
		<columnFooter>
			<band height="30"  isSplitAllowed="true" >
			</band>
		</columnFooter>
		<pageFooter>
			<band height="50"  isSplitAllowed="true" >
				<staticText>
					<reportElement
						x="190"
						y="20"
						width="110"
						height="20"
						key="staticText-1"/>
					<box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
					<textElement>
						<font/>
					</textElement>
				<text><![CDATA[pagefooter]]></text>
				</staticText>
			</band>
		</pageFooter>
		<lastPageFooter>
			<band height="50"  isSplitAllowed="true" >
				<staticText>
					<reportElement
						x="170"
						y="10"
						width="230"
						height="30"
						key="staticText-2"/>
					<box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
					<textElement>
						<font/>
					</textElement>
				<text><![CDATA[lastpagefooter]]></text>
				</staticText>
			</band>
		</lastPageFooter>
		<summary>
			<band height="74"  isSplitAllowed="true" >
			</band>
		</summary>
</jasperReport>
```

Das einzige was verändert wurde ist ein Feld im detailbereich, den Querystring und die Höhe von Summery (wobei das ja keine Rolle spielt)

Gruss


----------



## davidklok (13. April 2007)

Ja, das ist ok soweit.  Aber was ist, wenn ein Bericht mal nur eine Seite hat? Ich möcht da nur ungern auf den LPF verzichten. (Ich habe zwar mittlerweile schon eine Notlösung gefunden...) Danke nochmal!


----------



## jeipack (16. April 2007)

morgen
Nun, wenn ein bericht nur eine Seite hat dann wird auch nur der lastPageFooter angezeigt.


Gruss


----------



## davidklok (25. April 2007)

Hallo, Danke erstmal für deine Hilfe!

Und was ist denn, wenn der Bericht sich mal nur über eine Seite erstreckt? Das kann man ja nicht immer so genau vorhersehen. Da möchte ich ja nur ungern auf den PageFooter verzichten?!


----------



## jeipack (25. April 2007)

Hi davidklok
Du wiedersprichst dich. Zuerst sagst du, du willst nicht auf den lastPageFooter verzichten, dann sagst du du willst nicht auf den pageFooter verzichten. Aber auf EINER Seite kann es nur EINEN Footer geben..

Also nochmals. Wenn ein Bericht nur eine Seite hat, dann ist diese zugleich auch die letze Seite des Berichts und so wird der lastPageFooter genommen.

Gruss


----------



## davidklok (25. April 2007)

Hi,
ja, du hast Recht. Ich meine natürlich LastPageFooter. 
Und wenn Du das so sagst, wird mir natürlich auch einiges klar.. Ich hatte immer gedacht & gehofft, das der PF und der LPF gleichzeitig auf der letzen Seite dargestellt werden könnten. - oder eben auch nicht    Daraus ergibt sich jetzt für mich eine neues Problem. Ich denk erstmal drüber nach ..
Besten Dank nochmal.

MfG
ich


----------



## PeterPanic (13. Januar 2010)

Falls es den Poster oder andere (man stößt bei google ja sofort auf diese Seite...) interessiert, hier die Lösung:

Man fügt in den LPF den gleichen Inhalt ein, wie in den PF (COPY, PASTE) und ändert den LPF dann um die Ergänzungen ab, die eben nur auf der letzten Seite auftauchen sollen.

Ist zwar der doppelte Inhalt, aber erfüllt den Zweck.


----------

