2010-07-13 4 views
27

Ich versuche, eine Spalte Fußzeile Band direkt unter einem Detailband angezeigt werden.Jasper Reports - So erhalten Sie Spaltenfußzeile direkt unterhalb der Details Band

Das Detailband enthält normalerweise nur 2 oder 3 Zeilen und sollte daher nicht sehr tief sein. Die Fußzeile erscheint immer weiter unten auf der Seite und nicht direkt unter dem Ende des Inhalts im Detailbereich - daher ist das Detailbereich höher als der darin enthaltene Inhalt. Wie kann ich das Detailband bis zum Ende des Inhalts reduzieren, damit ich sofort die Fußzeile anzeigen kann?

Ich bin sicher, das ist einfach ein Fall der Anwendung einiger Einstellungen - aber ich kann nicht bestimmen, was das ist.

Danke.

+0

Wie entwerfen/definieren Sie den Bericht? Ich habe festgestellt, dass es sehr schwierig ist, diese Art der Abstimmung durchzuführen, es sei denn, Sie verwenden etwas wie [iReport] (http://jasperforge.org/projects/ireport). Mit diesem Werkzeug können Sie die Bänder verkleinern und den zusätzlichen Platz in Ihren definierten Berichten entfernen. Sie können Bänder auch mit iReport hinzufügen/entfernen. – mlschechter

+0

Hallo - danke für die Rückmeldung. Ich verwende iReport. Wie entferne ich den zusätzlichen Speicherplatz? Auf dem Designer sieht es so aus, als gäbe es keinen Platz, da ich die Breite der betreffenden Bänder verringert habe. Die resultierende PDF enthält jedoch immer noch den Leerraum. – Peanut

Antwort

29

Setzen Sie in iReport Ignore pagination in den Eigenschaften Ihres Hauptberichts auf true.

Dies sollte dazu führen, dass Ihre Fußzeile am unteren Rand des Inhalts in Ihrem Detailbereich gerendert wird.

+14

Ich habe festgestellt, dass ich einen Bericht erstellen muss, der mehr als eine Seite umfasst. Das Ignorieren der Seitennummerierung ist daher nicht mehr angemessen. Allerdings habe ich festgestellt, dass die Einstellung darüber im Eigenschaftenfenster 'Float column footer' die Fußzeile direkt unter dem Detailbereich auf jeder Seite platziert. Perfekt! Hoffe das hilft jemand anderen irgendwo auf der ganzen Linie. – Peanut

+0

@ Peanut: Danke. Es hat mir auch geholfen. Aber es erscheint nach dem 'Summary Band'. Es ist ein anderes Problem für mich. Können Sie mir bitte eine Lösung geben? – sarwar026

+0

Hmm, das klingt sehr merkwürdig, es wird funktionieren, da der Bericht ** nicht ** Seiten mehr hat, aber wenn du nach pdf exportierst, was passieren wird, würde ich einen Blick auf [Agus antwort] werfen (http: // stackoverflow.com/a/9066292/5292302), das ist der richtige Weg, um zu bestimmen, wo der Spaltenfuß platziert wird. –

27

Sie können versuchen, Spaltenfußplatzierung Eigenschaft zu setzen. Es ist für mich gelöst.

Das Zitat aus dem Jasper Ultimate Guide:

 
Column Footer Placement - The isFloatColumnFooter Boolean property lets users customize 
the behavior of the column footer section. By default, this section is rendered at 
the bottom of the page, just above the page footer. In certain cases, it is useful 
to render it higher on the page, just below the last detail or group footer on 
that particular column. To do this, set the isFloatColumnFooter property to true. 
+0

klicken setze es auf wahr, um zu bestimmen, welche der letzten - 3 - Optionen? – mmcrae

+0

Das hängt von den Bändern ab, die Sie verwenden. Wenn "Float Column Footer" aktiviert ist: Wenn Sie keine Gruppen haben, wird diese direkt unter dem letzten Eintrag "Detail" im Detailband platziert. Wenn Sie Gruppen mit Fußzeilen haben, wird diese direkt unter dem letzten Gruppenfuß platziert. – m00hk00h

13

Set-Eigenschaft des Berichts „Spaltenfuß Float“ ist besser als „ignorieren Paginierung“ in dem Fall, dass Sie Format der Seite behalten wollen. Es gibt eine Schrumpfung der Ansicht (zum Beispiel PDF in nicht im Format A4), wenn die Paginierung ignoriert wird. "float column footer" behält das Format der Seite bei.

+2

rechts - Wenn Sie "Paginierung ignorieren" auswählen, wird die PDF-Datei nur eine Seite, keine unteren Ränder oder irgendetwas anderes – mmcrae

1

Float Spalte Fußzeile ist die richtige Einstellung hier. Wenn zwischen der Ausgabe des Detailbereichs und der Fußzeile immer noch Speicherplatz verloren geht, achten Sie darauf, dass andere Bänder Platz verschwenden, wie dies in der Zusammenfassung der Fall ist. Wenn Sie diese Bänder nicht benötigen, entfernen Sie sie oder setzen Sie die Höhe auf 0.

1

Für diejenigen, die kein Berichterstellungstool (JasperSoft oder älter iReport) verwenden und direkt mit XML arbeiten, fügen Sie isFloatColumnFooter dem Element <jasperReport> hinzu.

<?xml version = "1.0" encoding = "UTF-8"?> 
<!DOCTYPE jasperReport PUBLIC "//JasperReports//DTD Report Design//EN" 
    "http://jasperreports.sourceforge.net/dtds/jasperreport.dtd"> 

<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" 
       isFloatColumnFooter="true" 
       name="report2" pageWidth="595" pageHeight="230" 
       columnWidth="555" leftMargin="20" rightMargin="20" 
       topMargin="20" bottomMargin="20"> 

... 
</jasperReport> 
Verwandte Themen