Beispiel 4: Bericht mit Inhaltsangabe, Navigation und Gliederung
Dieses Beispiel veranschaulicht das Erstellen eines Berichts mit den folgenden Eigenschaften:
- Auf der ersten Seite wird die interaktive Inhaltsangabe, d.h. die einzelnen Elemente können zur Navigation der entsprechenden Seite angeklickt werden, gedruckt;
- Im Vorschaufenster wird die Gliederung angezeigt. Diese ist auch interaktiv.
Der Bericht nutzt die Tabellen "Categories" und "Products". In der Inhaltsangabe wird die Kategorienliste gedruckt. Der Rest des Berichts wird die kategorisierte Produktliste drucken. Die Berichtsvorlage besteht aus zwei Seiten: die erste Seite wird zum Druck der Inhaltsangabe genutzt und die zweite Seite zum Druck des Hauptberichts.
Zuerst soll die Inhaltsangabe erläutert werden. Es wird ein neuer Bericht erstellt und diesem werden die Datenquellen "Categories" und "Products" hinzugefügt. Die "Daten"-Leiste wird mit der Tabelle "Categories" verbunden und die Objekte auf die folgende Art platziert.
Zur Erstellung interaktiver Inhaltsangaben-Objekte, müssen die "Hyperlink" Eigenschaften konfiguriert werden:
Anzeige des Kategorienamens als Lesezeichen. Das Lesezeichen des Objektes wird später festgelegt.
Um die Seitenzahl in der Inhaltsangabe zu drucken, muss Folgendes durchgeführt werden:
· Aktivierung der Einstellung "Double Pass" des Berichts. Dazu wird das Menü "Bericht|Stile" genutzt. Dies muss durchgeführt werden, da die Inhaltsangabe vor anderen Seiten gedruckt wird. Zu diesem Zeitpunkt weiß FastReport nicht, wo die Kategorien gedruckt werden;
· Nutzung der Funktion "Engine.GetBookmarkPage", der die Seitenzahl für das spezifische Lesezeichen zurück gibt. In diesem Beispiel wird der Ausdruck "[Categories.CategoryName]" als Lesezeichenname verwendet, so dass der Funktionsaufruf wie folgt aussieht:
[Engine.GetBookmarkPage([Categories.CategoryName])]
Auf der zweiten Berichtseite wird ein Master-Detail Bericht, wie in der unteren Abbildung dargestellt, erstellt:
Festlegen des Lesezeichens zu dem navigiert wird, wenn auf ein Element in der Inhaltsangabe geklickt wird. Hierzu wird die erste "Daten"-Leiste ausgewählt und der folgende Ausdruck in ihrer Eigenschaft "Lesezeichen" angezeigt:
[Categories.CategoryName]
Zur Festlegung der Gliederung des Berichts, sollte das Folgende durchgeführt werden:
· Auswahl der ersten Berichtseite. Dies kann durch Wechsel auf die Seite erfolgen;
· Im Fenster "Eigenschaften" muss der folgende Wert für die Eigenschaft "OutlineExpression" festgelegt werden:
"Contents"
- Wechsel zur zweiten Berichtsseite;
· Auswahl der ersten "Daten"-Leiste und Festlegung seiner Eigenschaft "OutlineExpression":
[Categories.CategoryName]
- Auswahl der ersten "Daten"-Leiste und Festlegung der Eigenschaft "OutlineExpression":
[Products.ProductName]