AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

QuickReport.Header auf jeder Seite und ForceNewPage

Ein Thema von norwegen60 · begonnen am 26. Feb 2020 · letzter Beitrag vom 26. Feb 2020
Antwort Antwort
norwegen60

Registriert seit: 23. Dez 2007
Ort: Schwarzwald
529 Beiträge
 
Delphi 12 Athens
 
#1

AW: QuickReport.Header auf jeder Seite und ForceNewPage

  Alt 26. Feb 2020, 18:39
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:
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;
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.
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.
  Mit Zitat antworten Zitat
norwegen60

Registriert seit: 23. Dez 2007
Ort: Schwarzwald
529 Beiträge
 
Delphi 12 Athens
 
#2

AW: QuickReport.Header auf jeder Seite und ForceNewPage

  Alt 26. Feb 2020, 19:18
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:
  • QR-Report in die Text-Ansicht wechseln
  • im Source-Code den kompletten qrsdDetail2-Block vor qrsdDetail1 schieben
  • wieder zurück in Form-Ansicht wechseln
Danach wird qrsdDetail2 vor qrsdDetail1 angezeigt und auch die GroupHeader und GroupFooter werden korrekt zugeordnet.
Es muss also nur der TSubDetail Block verschoben werden.

Zeit für den nächsten QBS-Manager.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:04 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