Announcement

Collapse
No announcement yet.

AutoStretch / TQRDBText / TQRShape ebenfalls vergrößern

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • AutoStretch / TQRDBText / TQRShape ebenfalls vergrößern

    Hallo,
    <br>
    <br>im DetailBand habe ich mehrere QRDBText Komponenten , die durch TQRSahpe(Vertikal Line) getrennt sind (Tabellen Form). Vergrößert sich nun eine QRDBText Komponente in Y Richtung, so vergrößern sich leider nicht die TQRShapes. D.h. das Tabellenformat wird gestört. Ich habe leider keinen geeigneten Einstiegspunkt gefunden wo ich das folgende ausführen könnte.
    <br>QRShape1.Height := DetailBand1.Height;
    <br>QRShape2.Height := DetailBand1.Height;
    <br>...
    <br>D.h. immer wenn sich QRDBText vergrößert soll sich auch QRShape vergrößern.
    <br>
    <br>Wer kann mir weiter helfen?
    <br>
    <br>Danke!
    <br>
    <br>mfg
    <br>PS

  • #2
    Hi,
    <br>
    <br>wieso werden eigentlich einem keine absoluten Werte bei der <br>Eigenschaft Top angezeigt?
    <br>Bsp.:
    <br>Gruppenkopf
    <br>detail1
    <br>detail2
    <br>detail3
    <br>Gruppenfuß
    <br>
    <br>detail3.Top gibt 110 zurück. Das ist jedoch der Wert aus dem Entwurf.
    <br>Wie kann man denn nun den waren absoluten Wert bekommen?
    <br>
    <br>mfg
    <br>p

    Comment


    • #3
      Hallo,<p>
      das Problem ist, dass QuickReport erst kurz vor dem Druck des Bands weiß, wie dessen Werte sind - es wird halt alles erst zur Laufzeit berechnet.
      Eine Lösung zu einem ähnlichen Problem hat QRSoft mit dem Beispielprogramm QR3LSD4.ZIP aufgezeigt. Das Prinzip ist, dass der Report zweimal erzeugt wird, wobei beim ersten Mal die Maße der Bands gesichert werden, um beim zweiten Durchlauf entsprechende Anpassungen zu treffen

      Comment


      • #4
        <br>Vielen Dank für den Tipp.
        <br>
        <br>Ich habe mir den Code mal angesehen und mein großer Fehler war das ich immer DetailBand.Heigt abgefragt habe, aber eine Änderung macht sich anscheinend so bemerkbar:
        <br>DetailBand.size.Heigt + DetailBand.Expand
        <br>wobei DetailBand.Expand > 0 ist wenn eine Änderung stattgefunden hat.
        <br>
        <br>Nach weiteren Tests habe ich noch eine Möglichkeit gefunden, auf DetailBand vergrößerungen einzugehen, <b>ohne</b> den Bericht zweimal zu erzeugen.
        <br>
        <br>Man muß das DetailBand wie gewohnt aufbauen und auffüllen mit Komponenten. Und ganz zum Schluß wird eine leere QRDBText Kompo (ich nenne Sie mal X) hinzugefügt. Und nach dieser Kompo werden noch alle Komponenten hinzugefügt , die auf Größenänderungen des DetailBandes eingehen sollen z.B. QRShapes.
        <br>Wichtig: Diese Reihenfolge kann man sich ansehen und ändern, indem man sich das Formular als Text ausgibt. Nun ist es möglich die Erstellungsreihenfolge der Komponenten zu beeinflussen, indem die Objekt Blöcke verschoben werden.
        <br>
        <br>QRDBText1
        <br>QRDBText2
        <br>QRDBText3
        <br>X
        <br>QRShape1 //diese Komponenten können nun auf die Größenänderung eingehen
        <br>QRShape2 //diese Komponenten können nun auf die Größenänderung eingehen
        <br>QRShape3 //diese Komponenten können nun auf die Größenänderung eingehen
        <br>
        <br>Nun wird in das OnPrint ereignis von X ungefähr folgendes eingeben:
        <br>QrShape1.Size.Height := DetailBand.size.Heigt + DetailBand.Expand;
        <br>
        <br>und schon wird die QRShape Komponente auf die neue Größe des DetailBands eingestellt, ohne das man "kompliziert" den Bericht zweimal ausrichten muß (Werte Merken und wieder zurückschreiben "Puh").
        <br>
        <br>Nochmals vielen Dank für den Tipp.
        <br>
        <br>mfg
        <br>P

        Comment


        • #5
          Hi Patrick

          Funktioniert dein Trick mit dem leeren QRDBText nur beim Ausdruck oder auch schon beim Preview?

          MfG
          Silve

          Comment


          • #6
            Hi,
            <br>
            <br>>Funktioniert dein Trick mit dem leeren QRDBText nur beim Ausdruck oder auch schon beim Preview?
            <br>
            <br>Ja
            <br>
            <br>mfg
            <br>P

            Comment


            • #7
              Hallo!
              Ich suche auch gerade verzweifelt eine Möglichkeit die QRShape Komp. an die Breite des Detail Bandes anzupassen.
              Die beschriebene Möglichkeit von Patrik Sack hab ich ausprobiert, allerdings ohne Erfolg.
              Kennt noch jemand einen Tip dazu?
              mfg
              Manfred Spir

              Comment


              • #8
                Du musst die Position bzw die größe des Shapes in den Ereignis BeforePrint verändern.
                *
                *
                Oswal

                Comment

                Working...
                X