![]() |
Fastreport - Seitensteuerung
Hallo weiß jemand wie
ich bei Fastreport eine Steurung von Seiten hinbekomme was bei Rave "GotoPage" war. Also ich möchte Page1 dann Page2 und wieder Page1 usw ausdrucken. Desweiteren. Reicht bei FastReport die Basic Lizens Danke im vorraus |
AW: Fastreport - Seitensteuerung
Hi,
kennen Rave und GotoPage nicht. Du kannst aber einen Report individuell zusammenstellen. dazu brauchst DU 2 frxReport Instanzen:
Delphi-Quellcode:
das "PrepareReport(true)" bedeutet, dass er den bisherigen Inhalt des Reports löscht und den Report vorbereitet. Über "PrepareReport(False)" kannst Du unterschiedliche Reportfiles dort zusammenfassen. Da das Prepare aber dann immer alle Seiten durchläuft, solltest Du (je nach Umfang) den vorbereiteten Bericht "zwischenspeichern", das geht dann über die zweite Instanz, indem Du da einfach die Pages rübergibst (PreviewPages.AddFrom).
frxReport_Temp.LoadFromFile(XXX);
frxReport_Temp.PrepareReport(true); frxReport_Final.PreviewPages.AddFrom(frxReport_Temp); Zum Umfang von FR: Ich verwende die StandardEdition, da dort das Scripting im Report möglich ist, das ist ganz sinnvoll, wenn man z.B. Subreports ausblenden will usw. Bei der Prof ist auch der Sourcecode dabei, das werde ich mir vermutlich beim nächsten Update auch noch leisten, weil Du solche Geschichten wie da oben aus dem Sourcecode raus bekommst bzw. bei Fehler im Report einfach weiter kommst (also wenn eine Fehlermeldung auftritt). Das ist ohne Sourcen aufwändiger. GRüße |
AW: Fastreport - Seitensteuerung
Danke für die schnelle Antwort
|
AW: Fastreport - Seitensteuerung
Hallo ich muß noch mal nerven
Ich bekomme es einfach nicht hin Einzelne Seiten zu übergeben. Also wenn ich Page 1 und Page 2 habe das FastReport mir abwechselnt Page1 und Page2 ausgibt. |
AW: Fastreport - Seitensteuerung
hi,
was genau funktioniert denn nicht? Kannst DU mal Sourcen zeigen? Oder ggf. auch schicken? Grüße |
AW: Fastreport - Seitensteuerung
Hi,
ich habe es mal nachgestellt (Delphi 7 + FR 4):
Delphi-Quellcode:
in den beiden FR-instanzen 1 und 2 sind statische Seiten mit einem Text drin, in der 3er muss auch eine vorbereitete Seite drin sein, dnan hinzufügen und am Ende ein ShowPreparedReport.
frxReport1.PrepareReport(true);
frxReport2.PrepareReport; frxReport3.PrepareReport; frxReport3.PreviewPages.AddFrom(frxReport1); frxReport3.PreviewPages.AddFrom(frxReport2); frxReport3.PreviewPages.AddFrom(frxReport1); frxReport3.ShowPreparedReport; Grüße |
AW: Fastreport - Seitensteuerung
Delphi-Quellcode:
So wie hier und es werden erst die 3 Seiten Englisch und dannbegin try frxReport1 := TfrxReport.Create(self); frxReport2 := TfrxReport.Create(self); frxReport3 := TfrxReport.Create(self); frxReport1.LoadFromFile('RDeutsch.fr3'); frxReport2.LoadFromFile('REnglisch.fr3'); frxReport3.LoadFromFile('BlankReport.fr3'); frxReport1.PrepareReport(true); frxReport2.PrepareReport; frxReport3.PrepareReport; frxReport3.PreviewPages.AddFrom(frxReport1); frxReport3.PreviewPages.AddFrom(frxReport2); frxReport3.PreviewPages.AddFrom(frxReport1); frxReport3.ShowPreparedReport; finally frxReport1.Free; frxReport2.Free; frxReport3.Free end; die 3 Seiten Deutsch ausgegeben. Und ich möchte Englisch - Deutsch - Englisch ......... |
AW: Fastreport - Seitensteuerung
Hi,
was meinst du mit "die 3 Seiten Englisch und dann die 3 Seiten Deutsch" Nach deinem Code sollte es zum einen gerade anders rum sein (also erst D und dann E) und zum anderen - Sind das jeweils mehrseitige Reports? Dann schau mal bei .PreviewPages.ADD - da gibts IMHO eine Version mit der du direkt die Seiten der Preview hinzufügen kannst... Grüße |
AW: Fastreport - Seitensteuerung
Vielleicht hat ja mal jemand ein ähnliches Problem,
so sieht die Lösung aus. Die Hilfe von Fast-Report kommt wirklich sehr schnell.
Delphi-Quellcode:
frxReport.PrepareReport();
j := frxReport.PreviewPages.Count div 2; page := TfrxReportPage.Create(nil); for i := 0 to j - 2 do begin page.AssignAll(frxReport.PreviewPages.Page[j + i]); frxReport.PreviewPages.AddEmptyPage(i * 2 + 1); frxReport.PreviewPages.ModifyPage(i * 2 + 1, page); frxReport.PreviewPages.DeletePage(j + i + 1); end; page.Free; frxReport.ShowPreparedReport; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:08 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 by Thomas Breitkreuz