Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Objectlist mit FastReport in Report ausgeben (https://www.delphipraxis.net/216877-objectlist-mit-fastreport-report-ausgeben.html)

norwegen60 17. Mär 2025 08:32

Objectlist mit FastReport in Report ausgeben
 
Hallo zusammen,

ich will damit beginnen, Rports von QuickReport auf FastReport umzustellen und bin absoluter Anfänger was FastReport betrifft. Viele QuickReports greifen per OnNeedData und OnBeforePrint direkt auf die Klasseninformationen zurück, die in einer Klassenstruktur incl. TObjectList liegen.
wie kann ich solch eine Klassen-Struktur in FastReport verwenden.
Ich habe dazu nur ein Beispiel gefunden und das übergibt die Klasse per
Code:
FReport.RegisterData(FBusinessObject, "Categories");
Wenn ich aber in meinem frxReport1 schaue, gibt es dort keine Eigenschaft RegisterData und im VCL-Handbuch von FastReport wird die auch nicht gefunden.

Hat jemand ein Tip, (am liebsten mit Code-Beispiel) wie ich eine Klassenstruktur an FastReport übergebe? Dass ich sie zuerst in eine virtuelle Databasestruktur übertrage möchte ich wenns geht vermeiden

Grüße und Danke
Gerd

Lemmy 17. Mär 2025 08:40

AW: Objectlist mit FastReport in Report ausgeben
 
Moin,

Registerdata kenne ich auch nicht, finde im Internet dazu primär Quellen zu FR.NET, d.h. wird eher aus der WElt kommen.

Für Delphi verwendest Du ein frxUserDataset und implementierst die notwendigen Ereignisse (onFirst, onNewGetValue, OnNext, onPrior, onCheckEOF) und definierst die Felder in der Fields Eigenschaft des UserData. In OnNewGetValue kannst Du dann einfach abfragen, welches Feld gerade angefordert wird und holst das aus dem aktuellen Objekt raus und das Objekt wechselst Du in OnNext

Grüße

mytbo 17. Mär 2025 16:04

AW: Objectlist mit FastReport in Report ausgeben
 
Hier der Artikel und hier ein Beispiel für eine Objektliste mit Quelltext.

Bis bald...
Thomas

TurboMagic 17. Mär 2025 19:37

AW: Objectlist mit FastReport in Report ausgeben
 
Hallo,

alternativ ein TFrxUserDataSet benutzen.
Dem teilt man dann mit wieviele Zeilen kommen werden.
Man packt daszu ein entsprechednes Databand auf den Report und verknüpft
das mit dem TFrxUserDataSet. Dann bekommt man ein Event für jedes
Label des User Datasets und jede Zeile und kann darin dann die
Daten aus seiner eigenen Liste ausgeben.

norwegen60 18. Mär 2025 07:43

AW: Objectlist mit FastReport in Report ausgeben
 
Hallo zusammen,

vielen Dank für eure schnelle Hilfe. Ich hoffe ich bekomme es damit hin.
Zitat:

Zitat von mytbo (Beitrag 1547208)
...

Nach etwas Abänderung lief es auch unter XE und ist für eine andere Angelegenheit sehr hilfreich. Hatte bisher nicht mit RTTI gearbeitet.

Das mit frxUserDataset hatte ich auch schon gesehen. Ich hatte aber gehofft, dass es irgendwie geht, dass FastReport die Klassenstruktur selber auflöst und ich die Felder ähnlich wie bei einem DataSet verwenden kann.

Grüße
Gerd


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:03 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