![]() |
Rave Report
Hallo zusammen,
ich habe ein kleines Programm, indem ich alle Daten in selbsterstellten, doppeltverketteten Listen gespeichert werden. Gibt es eine Möglichkeit diese Daten über RaveReport in schöner Art und Weise zusammenzufassen oder kann RaveReport nur Daten aus Datenbanken verarbeiten? Wenn es nur über Datenbanken möglich sein sollte, hat jemand einen Vorschlag, wie ich ansonten einen Bericht aus Listendaten erzeugen kann? Also ich meine etwas hochwertigeres als ein einfaches Listenfeld. :wink: Danke |
Re: Rave Report
Hi,
da ich das gleiche Problem hatte kann ich dich beruhigen. Du kannst Rave-Report auch Daten aus einer anderen Quelle Übergeben. Über die Events in TCustomConnection kannst du Daten an den von dir erstellen Report übergeben. TIP: Beschreibung der Datenfelder werden im Ereignis "onGetcols" via Connection.writefield angegeben Die Tatsächlichen Daten werden im Ereignis "onGetRows" via der Connection.writeXYZdata methode geschrieben Im "OnOpen" Ereignis gibst du die anzahl der Rows (Datenzeilen) an Beispiel:
Delphi-Quellcode:
Hoffe das hilft dir weiter :)
procedure TForm1.rvCustomConnection1Open(Connection: TRvCustomConnection);
begin //Anzahl der Datenzeilen; Da hier headerdaten nur 1 connection.DataRows := 1; end; procedure TForm1.rvCustomConnection1GetRow(Connection: TRvCustomConnection); begin //Tatsächlichen Daten an den Report übergeben connection.WriteStrData('',realdata.Header.Name); connection.WriteStrData('',realdata.Header.Vorname); connection.WriteDateTimeData('',realdata.Header.Geburtsdatum); connection.WriteFloatData(format('%3.0f Kg',[realdata.header.Gewicht]),0.0); connection.writefloatdata(format('%4.0f cm',[realdata.header.Groesse]),0.0); end; procedure TForm1.rvCustomConnection1GetCols(Connection: TRvCustomConnection); begin //Datenfelder definieren connection.WriteField('Name',dtString,30,'',''); connection.writefield('Vorname',dtString,30,'',''); connection.writefield('Gebdat',dtDateTime,8,'',''); connection.WriteField('Gewicht',dtFloat,8,'',''); connection.WriteField('Groesse',dtFloat,8,'',''); end; [edit=Daniel B]Delphi-Tags korrigiert. Mfg, Daniel B[/edit] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:49 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