Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Werkzeuge (https://www.delphipraxis.net/63-sonstige-werkzeuge/)
-   -   fastreport mit farbigen Spalten (https://www.delphipraxis.net/105177-fastreport-mit-farbigen-spalten.html)

VizeTE 17. Dez 2007 15:44


fastreport mit farbigen Spalten
 
Hallo,

ich möchte via FastReport ein Tabelle zeichnen. Darin entahlten soll eine Monatsübersicht sein. Die Tage des Monats werden als Spalten eingetragen. Dabei sollen die Spalten am Wochenende farbig unterlegt werden.
Ich habe es hinbekommen via CrossView die Tabelle auf den Druck zu bekommen. Die Einfärbung ist mir jedoch nicht gelungen.

Kann mir jemand einen Tipp geben?


Vielen Dank,
VizeTE

VizeTE 27. Dez 2007 08:35

Re: fastreport mit farbigen Spalten
 
Ich habe folgende Lösung gefunden:

In meinem Delphi-Programm fülle ich das CrossView mit dem Befehl AddValue wie es auch in den Beispielen von FastReport angegeben wird. In die Zellen des CrossView schreibe ich jedoch nicht den gewünschten Wert sondern eine Schlüsselwort (damit ich später erkennen kann aus welchem CrossView die Zelle stammt) und die zugehörigen Koordinaten der Zelle.
Also z.B. "CrossView1:1:1". (Feld aus CrossView 1 mit den Koordinaten X=1 und Y=1)
Für jede so erzeugte Zelle wird später das BeforePrint-Ereignis ein weiteres mal ausgelöst. Wenn der Sender dann ein TfrxMemoView ist prüfe ich ob in dem Sender mein Schlüsselstring enthalten ist und ersetze diesen entsprechend meiner Wünsche.
Beim setzen des neuen Textes muß übrignes auch die Eigenschaft "Text" und nicht die Eigenschaft "Value" verwendet werden. Sonst wird der aktualisierte Text nicht übernommen.

Da diese Lösung in meinen Augen nicht besonders toll ist wär' ich für weitere Vorschläge dankbar. Es funktioniert aber erstmal ;)

Shivan 9. Jan 2008 14:06

Re: fastreport mit farbigen Spalten
 
Eine andere Variante wäre die Generierung der Spalten zur Laufzeit. D.h. du erstellst dir TfrxMemoViews und dann weisst du ja beim Erstellen schon was es für eine Farbe haben sollte.

Du benötigst dazu:
Headerband mit TfrxMemoViews, welche die Tage (Überschriften) sind.

DataBand mit den TfrxMemoViews, welche die eigentlichen Daten enthalten.

Das Databand wird dann entsprechend der Anzahl der Datensätze durch FastReport vervielfältigt. (Am Databand hängst du dein Tabellenobjekt ran -- ich hoffe du hast eines).

Der Aufwand dabei ist jedoch auch nicht unbedingt gering.... aber evtl. sauberer ;)

RavenIV 9. Jan 2008 14:36

Re: fastreport mit farbigen Spalten
 
Bei meinem FastReport sind sehr viele Beispiele dabei.
Unter anderem auch eines, bei dem die Zeilen unterschiedlich eingefärbt sind.

Schaut Euch doch diese Beispiele mal an.

EccoBravo 3. Mär 2008 15:43

Re: fastreport mit farbigen Spalten
 
Hallo RavenIV,

Wo sind denn Deine Beispiele für FastReport zu finden?

Gruß

E. B.

RavenIV 3. Mär 2008 16:11

Re: fastreport mit farbigen Spalten
 
Im Ordner "C:\Software\FastReport 4\Demos".

EccoBravo 3. Mär 2008 16:19

Re: fastreport mit farbigen Spalten
 
Danke RavenIV,

aber ich (der Trittbrettfahrer) wollte nicht von einer DB eine Tabelle drucken sondern von einem einfachen 2d-Array.
Auch wollte ich nicht nur die Zeilen- und SpaltenHeader färben sondern eine von mit mittendrin gewählte Zelle.
Auch wollte ich die Zeilenhöhe und Spaltenbreite individuell festlegen.

Danke an RavenIV und Threaderöffner

E. B.


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