![]() |
QuickReport.Header auf jeder Seite und ForceNewPage
Hallo zusammen,
ich verwende Delphi XE udn QuickReport 5.06 Eine Frage von der ich zunächst dachte, dass sie ganz einfach zu lösen ist: Was muss ich tun, wenn ich eine Master-Tabelle mit einem Satz und dazu zwei Detail-Tabellen mit bis zu 700 Datensätzen habe und
Egal ob ich
Delphi-Quellcode:
oder
TQRGroup
Delphi-Quellcode:
verwende wird der immer nur am Anfang der Tabelle gedruckt. Nicht aber auf den Folgeseiten
TQRBand.rbGroupHeader
Delphi-Quellcode:
wird zwar auf allen Seiten gedruckt, aber auf der ersten Seite zwei mal und der gleiche auch bei Detail2
TQRBand.rbColumnHeader
Die Settings ForceNewPage, RePrintOnNewPage scheinen keinerlei Auswirkungen zu haben. (Gilt auch für KeepOnOnePage) Hat jemand eine Lösung? |
AW: QuickReport.Header auf jeder Seite und ForceNewPage
|
AW: QuickReport.Header auf jeder Seite und ForceNewPage
Den Beitrag hatte ich noch nicht gefunden, er hilft mir aber auch nicht weiter. Oder ich verstehe ihn nicht richtig.
Ich habe mehrere Subdetails und keine Kombination gefunden, in der die Lösung weiter hilft. Ich hatte auch schon zuvor mit den Linkbändern rum probiert. Jetzt habe ich eine Lösung die geht qrbaPageHeader................TQrBand.rbPageHeader ---qrcbDetail1Header..........TQrChildPand.Parent = qrbaPageHeader ---qrcbDetail2Header..........TQrChildPand.Parent = qrcbDetail1Header qrbaMaster.......................TQrBand.rbDetail ---qrbaDetail1Header..........TQrBand.GroupHeader ---qrsdDetail1...................TQrSubDetail Header = qrbaDetail1Header, Footer = qrbaDetail1Footer ---qrbaDetail1Footer..........TQrBand.GroupFooter ---qrbaDetail2Header..........TQrBand.GroupHeader ---qrsdDetail2...................TQrSubDetail Header = qrbaDetail2Header, Footer = qrbaDetail2Footer ---qrbaDetail2Footer..........TQrBand.GroupFooter Und dann der große Gag
Delphi-Quellcode:
Das heißt ich blende die an den PageHeader angebundenen ChildBänder ein und aus. Natürlich müssen die die redundante Tabellenbeschriftung wie die beiden GroupHeader enthalten.
procedure TrptTest2.qrbaDetail1FooterBeforePrint(Sender: TQRCustomBand; var PrintBand: Boolean);
begin qrcbDetail1Header.Enabled := false; end; procedure TrptTest2.qrbaDetail1HeaderBeforePrint(Sender: TQRCustomBand; var PrintBand: Boolean); begin qrcbDetail1Header.Enabled := true; end; procedure TrptTest2.qrbaDetail2FooterBeforePrint(Sender: TQRCustomBand; var PrintBand: Boolean); begin qrcbDetail2Header.Enabled := false; end; procedure TrptTest2.qrbaDetail2HeaderBeforePrint(Sender: TQRCustomBand; var PrintBand: Boolean); begin qrcbDetail2Header.Enabled := true; end; Im Moment denke ich drüber nach nur ein ChildBand anzubinden und im qrbaDetail2HeaderBeforePrint den jeweilgen Inhalt des Orginalen GroupHeader zu kopieren Dafür gehört mindestens ein Verantwortlicher bei QBS geteert und gefedert. |
AW: QuickReport.Header auf jeder Seite und ForceNewPage
Jetzt habe ich auch ein anderes Mysterium von QuickReport gelöst, nämlich die Positionierung von Bändern.
Durch normales verschieben schafft man es in obigem Konstrukt kaum den Deatil2-Block vor Detail1 zu schieben. Auch nicht, wenn man die Top-Eigenschaft von Deatil2 vor Detail 1 setzt. Es klappt aber sicher, mit folgenden Schritten:
Es muss also nur der TSubDetail Block verschoben werden. Zeit für den nächsten QBS-Manager. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:55 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz