Jasper: subreports funktioniert nicht mit Position = ‚Float‘

stimmen
4

Subreports überlappen in diesem Beispiel - was mache ich falsch? Die zweite sollte unter dem ersten zu „schweben“, mit ‚y‘ Attribute ignoriert werden, aber es ist nicht.

Vielen Dank !!

<?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=report name pageWidth=595 pageHeight=842 columnWidth=535 leftMargin=20 rightMargin=20 topMargin=20 bottomMargin=20>
    <parameter name=SUBREPORT_DIR class=java.lang.String isForPrompting=false>
        <defaultValueExpression><![CDATA[C:\\reportFolder\\]]></defaultValueExpression>
    </parameter>
    <background>
        <band/>
    </background>
    <detail>
        <band height=200>
            <subreport>
                <reportElement positionType=FixRelativeToTop x=19 y=0 width=200 height=50/>
                <dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.JREmptyDataSource()]]></dataSourceExpression>
                <subreportExpression class=java.lang.String><![CDATA[$P{SUBREPORT_DIR} + report1.jasper]]></subreportExpression>
            </subreport>
            <subreport>
                <reportElement positionType=Float mode=Transparent x=19 y=20 width=200 height=50 backcolor=#FFFF66/>
                <dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.JREmptyDataSource()]]></dataSourceExpression>
                <subreportExpression class=java.lang.String><![CDATA[$P{SUBREPORT_DIR} + report1.jasper]]></subreportExpression>
            </subreport>
        </band>
    </detail>
</jasperReport>
Veröffentlicht am 09/12/2008 um 20:28
quelle vom benutzer
In anderen Sprachen...                            


2 antworten

stimmen
12

Ich habe die Antwort! (Ich bin derjenige, der fragte, andere IP-I guess) Gemäß der Dokumentation würde das Floating-Element hat sein y-Attribut ignoriert. Ich hatte das wörtlich genommen, willkürliche Werte für y versucht, und sah, dass jedes Mal das Element an der angegebenen Position platziert wurde.

Aber nein, müssen Sie festlegen y das Element zu positionieren , direkt unter dem vorherigen, nach , dass Elemente y und Höhe erklärt , obwohl seine tatsächliche Höhe gestreckt werden kann , wenn mit Daten gefüllt. In meinem Beispielcode sollte der zweite subreport y gehabt hat = „50“.

Außerdem sehe ich, dass die deklarierten Höhe eines Elements als eine Mindesthöhe genommen wird. Wenn die tatsächliche subreport kürzer als die Höhe ist, wird nicht das Umschließungselement geschrumpft, so dass es eine gute Idee wäre, die minimale erwartete Höhe für Elemente festlegen, die gestreckt werden können.

Beantwortet am 11/12/2008 um 12:54
quelle vom benutzer

stimmen
2

Sie haben Recht, aber Sie brauchen mehr. Sie müssen die Margen von subreports entfernen.

  • Aus dem Menü -> Format -> Entfernen Bericht Ränder aus dem Menü

  • Format -> Seite Format -> Stellen Ränder 0

Beantwortet am 05/10/2012 um 08:20
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more