FastReport Tipps und Tricks: Bänder

Aus GEVITAS
Version vom 25. Oktober 2017, 11:36 Uhr von Gevitas (Diskussion | Beiträge) (Band per Code unterdrücken)
Wechseln zu: Navigation, Suche

1 Bänder

1.1 Kapitel-Positionen zusammenhalten

Es kann vorkommen, dass auf die Seite nur noch die Kapitel-Überschrift passt und keine Position mehr. Beispiel:

FastReport TippsUndTrick KapitelPositionen Zusammenhalten Vorher.png

Um das zu verhinden, setzt man die Option:

FastReport TippsUndTrick KapitelPositionen Zusammenhalten Option.png

Nachher:


FastReport TippsUndTrick KapitelPositionen Zusammenhalten Nachher.png


1.2 Band per Code unterdrücken

Im Prinzip kann man ein Band ganz einfach im Code unterdrücken, indem man eine Formel schreibt, die unter bestimmten Umständen die Eigenschaft Visible (=sichtbar) auf False (falsch, nein) stellt. Beispiel:

 // Kapitel-Position ausblenden:
 if <Positionen."PosNr"> = 0 then     // Wenn es eine Kapitel-Position ist!
 begin
   DetailPositionen.Visible := False;
 end;

oder kürzer:

 if <Positionen."PosNr"> = 0 then     // Wenn es eine Kapitel-Position ist!
   DetailPositionen.Visible := False;


Im Detail-Bereich (z.B. bei Auftrags-Positionen), der ja mehrfach wiederholt wird, würde sich dieses Unsichtbar schalten aber auf alle folgenden Detail-Daten auswirken! Ab dem Moment würden die restlichen Position nicht mehr erscheinen! Also muss man im Code festlegen, was sonst ("else") passieren soll, wenn die Bedingung nicht erfüllt ist. Das könnte dann so aussehen:

 // Kapitel-Position ausblenden:
 if <Positionen."PosNr"> = 0 then     // Wenn es eine Kapitel-Position ist!
 begin
   DetailPositionen.Visible := False;
 end
 else                                // Wenn es KEINE Kapitel-Position ist!
   DetailPositionen.Visible := True;


Etwas schwieriger wird es, wenn es mehrere Abfragen im Code gibt, die das Visible für das Band ein- oder ausschalten. Dieser Artikel beschreibt, wie man da am Besten vorgeht.


Postionen-Band unterdrücken, wenn Kapitel-Überschrift unterdrückt ist

Man kann Positionen auch unterdrücken, wenn die Kapitel-Überschrift das Kennzeichen "Nicht drucken" hat. Beispiele:

Überschriften-Band ("GroupHeader1"):


procedure GroupHeader1OnBeforePrint(Sender: TfrxComponent);
begin
  // Dieser Code wird ausgeführt, BEVOR das Positionen-Gruppenkopf-Band (die Kapitel-Überschrift) ausgegeben wird.

  // Wenn das Druck-Kennzeichen auf "nicht drucken" steht: Ausblenden:  //JC//160214//
  if <Positionen."DruckKennzeichen_0Nicht_1Normal_2_MitBez_3NurKap_4OhneText"> = 0 then
  begin
    GroupHeader1.Visible := False;
    exit;
  end
  else
    GroupHeader1.Visible := True;
...


Positionen-Band:

procedure DetailPositionenOnBeforePrint(Sender: TfrxComponent);
begin
  // Dieser Code wird ausgeführt, BEVOR das Positionen-Detail-Band ausgegeben wird.
 // Grundstellung: Band ist sichtbar! Weiter unten wird es u.U. wieder ausgeschaltet!
 DetailPositionen.Visible := True;
 // Kapitel-Position ausblenden:
 if <Positionen."PosNr"> = 0 then
 begin
   DetailPositionen.Visible := False;
   exit;
 end;
 // Wenn das Druck-Kennzeichen auf "nicht drucken" steht: Ausblenden:  //JC//160214//
 if <Positionen."DruckKennzeichen_0Nicht_1Normal_2_MitBez_3NurKap_4OhneText"> = 0 then
 begin
   DetailPositionen.Visible := False;
   exit;
 end;
 // Wenn das Druck-Kennzeichen des KAPITELS (X.0) auf "nicht drucken" steht: Ausblenden!
 if <Positionen."KapitelDruckKennz"> = 0 then
 begin
   DetailPositionen.Visible := False;
   exit;
 end;
 





  • Hinweis: Diese Möglichkeit steht ab Release 171025 zur Verfügung!

1.3 Kapitel unterdrücken wenn alle Positionen ausgegeben sind

Manchmal gibt es in der Auftragsverwaltung Aufträge, die den verschiedenen Teilmengen entsprechen, die gefertigt und ausgeliefert werden. Die Positionen, die vollständig ausgeliefert wurden, werden unterdrückt. Allerdings kommen die Kapitel-Überschriften noch, obwohl alle folgenden Positionen des Kapitels vollständig ausgegeben sind. Mit Hilfe eine berechneten Feldes kann man die Kapitel-Überschrift in diesem Fall unterdrücken.

Einzelheiten werden in FastReport: Kapitel unterdrücken wenn alle Positionen ausgegeben sind beschrieben.


1.4 Band dehnen

Eine wichtige und tolle Eigenschaft eines Bands in FastReport ist es, dass es sich optional dehnen kann, also an die Größe (genauer gesagt Höhe) der auszugebenden Daten anpassen kann.

Dieser Artikel beschreibt das.




2 Links