FastReport Tipps und Tricks: Child-Band wird nicht gedruckt
Aus GEVITAS
Inhaltsverzeichnis
1 Allgemeines
Ein Child-Band wird verwendet, um einen Bereich (z.B. die Details) eines Reports ein- oder auszuschalten, abhängig von bestimmten Feld- oder Parameter-Werten.
Das funktioniert meist prima, hat aber einen Fallstrick.
2 Die Logik der Child-Bänder
Ein Master- oder Detail-Band kann ein Child-Band haben.
Jedes Child-Band kann wiederum ein Child-Band haben.
Die Bänder sind als "kaskadiert":
- Ganz oben das Haupt-Band (Master- oder Detail-Band)
- Darunter das 1. Child-Band, das zu Hauptband gehört. Das Hauptband oben hat also in der Eigenschaft "Child" das 1. Child-Band.
- Darunter das 2. Child-Band, das zum 1. Child-Band gehört. Das 1. Child-Band hat also in der Eigenschaft "Child" das 2. Child-Band.
- Darunter das 3. Child-Band, das zum 2. Child-Band gehört. Das 2. Child-Band hat also in der Eigenschaft "Child" das 1. Child-Band.
Beispiel:
Band | Name | Child-Eigenschaft |
---|---|---|
Detail-Band | DetailPositionen | ChildTechniker |
1. Child-Band | ChildTechniker | ChildPosText |
2. Child-Band | ChildPosText | ChildZusatzText |
3. Child-Band | ChildZusatzText |
3 Problem
Trotz korrektem Source-Code wird ein Child-Band nicht gedruckt.
procedure ChildPositionenOnBeforePrint(Sender: TfrxComponent);
begin
if ( <Positionen."TextPosition"> = ) or ( <AuftragsKopf."KENNZ8"> = 'Nein' ) then
ChildPositionen.Visible := False
else
ChildPositionen.Visible := True;
end;
4 Ursache
Vermutlich hat das Band, dessen Child das Child-Band ist, nicht die Option
Child drucken wenn unsichtbar
5 Lösung
Klicken Sie mit der rechten Maustaste auf das Band und schalten Sie diese Option ein:
- Empfehlung
Es empfiehlt sich, diese Option bei allen Bändern einzuschalten!