FastReport Tipps und Tricks: Unterschied zwischen den Versionen

Aus GEVITAS
Wechseln zu: Navigation, Suche
(Links)
Zeile 45: Zeile 45:
 
;Nachtrag:
 
;Nachtrag:
 
:Dazugelernt! Einfacher ist es auf dem Feld mit der rechten Maustaste zu klicken und die Option '''Nullen verbergen''' einzuschalten! Das Beispiel oben haben wir trotzdem gelassen, weil man die Logik ja auch für andere Zwecke verwenden kann.
 
:Dazugelernt! Einfacher ist es auf dem Feld mit der rechten Maustaste zu klicken und die Option '''Nullen verbergen''' einzuschalten! Das Beispiel oben haben wir trotzdem gelassen, weil man die Logik ja auch für andere Zwecke verwenden kann.
 +
 +
=== Report-Zusammenfassung am Ende der Seite ===
 +
 +
Wenn man die Report-Zusammenfassung (Report Summary) am Ende der Seite drucken will, muss man im Ereignis '''ReportSummary1OnBeforePrint''' diesen Code einfügen:
 +
 +
 +
procedure ReportSummary1OnBeforePrint(Sender: TfrxComponent);
 +
begin
 +
  Engine.CurY := Engine.CurY + Engine.FreeSpace - ReportSummary1.Height - 1; 
 +
end;
 +
 +
 +
  
 
== Links ==
 
== Links ==
Zeile 66: Zeile 79:
 
* [[Ladeliste/Packliste mit FastReport]]
 
* [[Ladeliste/Packliste mit FastReport]]
  
* [http://youtu.be/VDTSGf4oIFA Video FastReport Teil 1: Allgemeines]
+
* [//youtu.be/VDTSGf4oIFA Video FastReport Teil 1: Allgemeines]
  
* [http://youtu.be/M3keXvU3JIY Video FastReport Teil 2: Erstes Kennenlernen]
+
* [//youtu.be/M3keXvU3JIY Video FastReport Teil 2: Erstes Kennenlernen]
  
* [http://youtu.be/ZEa9te2nyco Video FastReport Teil 3: Den ersten Report erstellen]
+
* [//youtu.be/ZEa9te2nyco Video FastReport Teil 3: Den ersten Report erstellen]
  
* [http://youtu.be/IrpqarC0KEc Video FastReport Teil 4: Summen im Report erstellen]
+
* [//youtu.be/IrpqarC0KEc Video FastReport Teil 4: Summen im Report erstellen]
  
* [https://youtu.be/5krqu5oSuGU Video FastReport Teil 10: Vererbung, Erstellen und Verwenden eines Basis-Reports]
+
* [//youtu.be/5krqu5oSuGU Video FastReport Teil 10: Vererbung, Erstellen und Verwenden eines Basis-Reports]
  
* [https://www.fast-report.com/de/ Homepage von FastReport]
+
* [//www.fast-report.com/de/ Homepage von FastReport]
  
 
* [[Etikettendruck Allgemeines]]
 
* [[Etikettendruck Allgemeines]]

Version vom 12. November 2015, 01:39 Uhr

1 Allgemeines

Dieser Artikel beschreibt kleine Tipps und Tricks für das Erstellen von Reports mit FastReport, die im Alltag hilfreich sein können.

1.1 Anzahl der Datensätze

Manchmal hat man das Problem, dass bestimmte Bereiche unterdrückt werden sollen, wenn es nur einen einzigen Datensatz gibt. Beispielsweise hat man ein Mahnungsformular mit der Tabelle der fälligen Rechnungen und darunter die Gesamtsumme. Die Gesamtsumme soll aber unterdrückt werden, wenn es nur eine angemahnte Rechnung in der Tabelle gibt. Dann kann im Objektinspektor des Bereich auf das Ereignis

OnBeforePrint 

doppelklicken und diesen Code schreiben:

procedure Child2OnBeforePrint(Sender: TfrxComponent);
begin
   // Band mit der Gesamtsumme unterdrücken, wenn es nur EINE Rechnung gibt:
   if <Line#> = 1 then
       Child2.Visible := False
   else
       Child2.Visible := True;               
end;

Die System-Variable <Line#> beihaltet die Anzahl der Zeilen (Datensätze) des Detail-Bandes.

1.2 Datumsfeld unterdrücken, wenn kein Datum drin steht

Wenn man ein Datumsfeld im Report hat, steht dort je nach Formatierung "0" oder "30.12.1899" drin, wenn es gar kein Datum gibt. Das ist nicht schön, ist aber leider so.

Behelfen kann man sich, indem man das Feld unterdrückt, wenn kein Datum drin steht. Dazu kann im Objektinspektor des Bereich auf das Ereignis

OnBeforePrint 

doppelklicken und diesen Code schreiben:

procedure MahnungslisteDatumLetzteMahnungOnBeforePrint(Sender: TfrxComponent);
begin
 // Unterdrücken wenn 0-Datum:
 if <Mahnungen."DatumLetzteMahnung"> < 2 then
   MahnungslisteDatumLetzteMahnung.Visible := False
 else
   MahnungslisteDatumLetzteMahnung.Visible := True;           
end;

Wenn man einen Rahmen um das Feld angegeben hat, weil man die Daten tabellarisch anzeigen möchte, so fehlt in diesem Fall das Feld und auch der Rahmen. Um diese "Zahnlücke" zu füllen, kann man ein leeres Textfeld über oder unter das Datumsfeld setzen, das genauso groß ist und die Lücke füllt, falls das Datumsfeld ausgeblendet wird.

Nachtrag
Dazugelernt! Einfacher ist es auf dem Feld mit der rechten Maustaste zu klicken und die Option Nullen verbergen einzuschalten! Das Beispiel oben haben wir trotzdem gelassen, weil man die Logik ja auch für andere Zwecke verwenden kann.

1.3 Report-Zusammenfassung am Ende der Seite

Wenn man die Report-Zusammenfassung (Report Summary) am Ende der Seite drucken will, muss man im Ereignis ReportSummary1OnBeforePrint diesen Code einfügen:


procedure ReportSummary1OnBeforePrint(Sender: TfrxComponent);
begin
  Engine.CurY := Engine.CurY + Engine.FreeSpace - ReportSummary1.Height - 1;  
end;



2 Links