![]() |
[Rave] Report aus Records generieren?
Hallo zusammen,
ich habe mich bisher noch nicht sehr intensiv mit Rave beschäftigt, stehe aber vor der Überlegung ihn/es? in meinem Programm einzusetzen. Daher folgende Frage. Meine Applikation besteht eigentlich "nur" aus vier VirtualTreeviews, die sich zu Programmstart Daten aus der zugrundeliegenden Datenbank holen und diese allerdings sehr extrem visuell aufwerten - Gruppenbildungen, Summenbildungen, Berechnung von Abweichungen, etc. Zudem kann der Anwender diese Daten natürlich editieren und zurück in die DB schreiben. Meine Frage bezieht sich darauf, dass die Daten im Grunde während der gesamten Sitzung im Program (bzw. Speicher) gehalten werden - nämlich in den Recordstrukturen der einzelnen VTVs. Ist es mit Rave auch möglich, Reports auf Basis dieser Records zu erstellen? Meine bisherigen Erfahrungen mit Rave bezogen sich nämlich immer auf eine DB-Anbindung. Gruß Igotcha |
Re: [Rave] Report aus Records generieren?
Igotcha,
es geht mit Rave <g>. Schaue dir einmal die CustomConnections von Rave an. Die bieten für diesen Bereich alle Möglichkeiten; eines habe ich vergessen: noch mehr Möglichkeiten bieten die codebased-componenten an; das erfordert allerdings die Rave-beX-version. :-) thomas, TeamNevrona |
Re: [Rave] Report aus Records generieren?
Ich habe jetzt mal einen Rave-Report mit Custom-Connection aufgesetzt, könntest Du mir bitt evtl. auf die Sprünge helfen zum Thema: "Wie gelange ich jetzt an meine Record-Variablen?"
EDIT: Wahrscheinlich ist der grundsätzliche Aufbau meiner Reports gar nicht so schwer, da ja in meinem Programm, die Struktur "visuell" gestaltet wurde (s. Gruppen, etc.). Demzufolge kann man die Daten zeilenweise darstellen, wobei bestimmte Zeilen (=Gruppen) sich nur in der Darstellung (fette Schrift, Hintergrundfarbe) unterscheiden müssen. Will sagen, ich brauche dazu wahrscheinlich gar keine Master/Detailbands, sondern einfach nur eine Schleife, die mir von 0 - n-1 zeilenweise die Recordinhalte ausliest. Danke und Gruß Igotcha |
Re: [Rave] Report aus Records generieren?
![]() und evtl ![]() :-) thomas, TeamNevrona |
Re: [Rave] Report aus Records generieren?
Super, danke!
Der erste Link sieht genau nach dem aus, was ich brauche :-) |
Re: [Rave] Report aus Records generieren?
Sodele, das sieht soweit schon ganz gut aus, bis auf ein kleines Problem:
Ich kann jetzt im Designer von Rave die Daten aus meinen Records sehen, nur bekomme ich bei meiner Konstruktion der "Datenholung" eine Endlosschleife, da ich im Moment nicht dahinter komme, wie ich der Connection bzw. dem Report sage, dass er fertig ist. Die Methode mit DataRows setzen funktioniert in meiner Konstruktion nicht bzw. wird ignoriert, da anscheinend "onNext" Vorrang hat:
Delphi-Quellcode:
Im Einzelschrittmodus sehe ich, dass die Record-Einträge schön abgearbeitet werden, nur kann ich ihn nicht stoppen ;-)
procedure TfrmMain.RvCustomConnection1GetCols(
Connection: TRvCustomConnection); begin Connection.WriteField('MyBezeichnung',dtString,40,'Bezeichnung','Test'); Connection.WriteField('MyJAN',dtfloat,10,'JAN',''); end; procedure TfrmMain.RvCustomConnection1GetRow( Connection: TRvCustomConnection); begin With Connection do begin WriteStrData('',myPrintPrognose.FGBez); WriteFloatData('',myPrintPrognose.FMonat[3]); end; end; procedure TfrmMain.RvCustomConnection1First( Connection: TRvCustomConnection); begin myPrintNode:=frmMain.TPROGNOSE.GetFirst; myPrintPrognose:=pPrognoseData(frmMain.TPROGNOSE.GetNodeData(myPrintNode)); end; procedure TfrmMain.RvCustomConnection1Next( Connection: TRvCustomConnection); begin myPrintNode:=frmMain.TPROGNOSE.GetNext(myPrintNode); if Assigned(myPrintNode) then myPrintPrognose:=pPrognoseData(frmMain.TPROGNOSE.GetNodeData(myPrintNode)) else Tja, was soll hier hin??? end; Wenn Assigned(myPrintNode) false ist, soll er aufhören. Gruß Igotcha |
Re: [Rave] Report aus Records generieren?
schau' mal in die EOF-procedure !
Bsp:
Code:
procedure TForm1.RvCustomConnection1EOF(Connection: TRvCustomConnection;
var Eof: Boolean); begin Eof := (LogoRow > 1); end; :-) thomas, TeamNevrona |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:09 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