Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Freereport + Chart (https://www.delphipraxis.net/116798-freereport-chart.html)

haentschman 6. Jul 2008 21:08


Freereport + Chart
 
Hallo alle miteinander... :hi:

seit Tagen quäle ich mich durch die englische (sehr knapp gehaltene) Hilfe, das FastReport Forum und Google :?
...langsam sehe ich nichts mehr. :(

folgende Situation:

- der Bericht ist ein Master-Detail-SubDetail Bericht.
- ich benötige in jedem Band 'UnterDetailDaten' einen Chart mit den Daten der entsprechenden Query für die UnterDetailDaten.
- die Daten stehen in der richtigen Form und Filterung zur Verfügung.
- das Chartobjekt ist mit den entsprechenden MEMO für Werte bzw. Legende verbunden.
- das Chartobjekt wird in der richtigen Position angezeigt.

das Problem:

- die Werte werden im Chart immer in der X Achse angehängt. :evil:
- ich müßte nach jedem Datensatzwechsel im DetailBand den Chart leeren.
...leider habe ich bis jetzt keine Möglichkeit gefunden. :(

:?: ist das mit Freereport möglich
:?: wie kann ich den Chart leeren

bin für Infos dankbar...

PS: wg. großer Verzweiflung... Post im FastReportForum. :roll:

alzaimar 7. Jul 2008 06:03

Re: Freereport + Chart
 
Unter der Prämisse, das der Chart in FastReport ein Abbild der Steema-Chartkomponente ist, müsstest Du -zur Not mit Findcomponent- irgendwo die "Series" - Komponenten finden. Vermutlich im TfrReport, dort gibt es doch sowas.

Du könntest das dann über eine benutzerdefinierte Funktion "ClearChart" lösen, die du im OnAfterPrint-Ereignis des Detailbandes aufrufst.

haentschman 7. Jul 2008 08:06

Re: Freereport + Chart
 
Guten Morgen... 8)

Danke für Deine Tipps.

Nun ich habe schon die Tage mit FindComponent herumexperimentiert.
z.B.
Delphi-Quellcode:
var Grafik: TfrView;

if Band.Typ = btSubDetailFooter then
   begin
     Grafik:= TfrView(frReport1.FindObject('Chart1'));
     if not (Grafik = nil) then
       begin
         Grafik.FrameColor:= clRed;
       end;
   end;
PS: FrameColor wird mit obigem Code nicht geändert :gruebel:

FreeReport hat keine frGraphView wie FastReport. Da konnte ich nur auf frView zurückgreifen. Da habe ich aber keine Methoden, welche in irgendeiner Form mit Clear zu tun haben.
Ich habe auch schon versucht das über das Script im Memo zu lösen. Clear oder Series sind unbekannt. :gruebel:

Auch die Hilfe unter GraphObject / GraphView listet in dieser Form nichts :(

Ich hatte gedacht, vieleicht gibt es einen Trick ?


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:40 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz