Hinzufügen eines Datensatzes zu einem Bericht
Bänder
Bänder werden verwendet, um die Objekte, die sie enthalten, an bestimmten Orten auf der Ausgabeseite zu platzieren. Wenn wir ein Objekt im „PageHeader“-Band platzieren, sagen wir der Bericht-Engine, dass das gegebene Objekt oben auf jeder Seite im fertigen Bericht angezeigt werden muss. Ebenso werden Objekte im „PageFooter“-Band am unteren Ende jeder Seite angezeigt. Lassen Sie uns dies mit einem Beispiel demonstrieren. Wir erstellen einen Bericht, der „Hallo!“ oben auf der Seite, das aktuelle Datum rechts davon und die Seitenzahl am Fuß der Seite auf der rechten Seite enthält.
Öffnen Sie den Designer und klicken Sie auf die Schaltfläche „Neuer Bericht“ in der Symbolleiste. Sie sehen eine Berichtsvorlage, die bereits drei Bänder enthält: „ReportTitle“, „MasterData“ und „PageFooter“. Lassen Sie uns das „MasterData“-Band für eine Weile entfernen (klicken Sie entweder auf einen freien Bereich innerhalb des Bands oder auf dessen Kopfzeile und entfernen Sie es mit der „Entf“-Taste oder „Löschen“ im Kontextmenü). Lassen Sie uns nun ein neues Band („PageHeader“) hinzufügen. Klicken Sie auf die Schaltfläche „Band hinzufügen“ in der Objektsymbolleiste und wählen Sie „PageHeader“ aus der Dropdown-Liste aus. Wir sehen, dass ein neues Band zur Seite hinzugefügt wird. Gleichzeitig werden die vorhandenen Bänder nach unten verschoben. Der Designer positioniert Bänder automatisch auf der Seite - Kopfzeilenbänder oben, Datenbänder in der Mitte und Fußzeilenbänder unten.
Jetzt fügen wir einige Objekte hinzu. Fügen Sie ein "Systemtext"-Objekt zum "PageHeader"-Band hinzu und wählen Sie in seinem Editor "[DATE]" aus der Dropdown-Liste der Systemvariablen aus (Sie sollten sich daran erinnern, dass das aktuelle Datum auch in einem "Text"-Objekt angezeigt werden kann, indem Sie "[DATE]" in seinen Editor eingeben). Fügen Sie als Nächstes ein „Text“-Objekt mit „Hallo!“ zum „ReportTitle“-Band hinzu. Ein "Text"-Objekt, das die Seitenzahl anzeigt, wurde bereits automatisch zum „PageFooter“-Band hinzugefügt.
Fügen Sie zusätzliche "Text"-Objekte mit den Bandtypnamen hinzu, wie Sie auf dem nächsten Bild sehen. Stellen Sie für alle neuen Objekte einen roten Rahmen und die Eigenschaft "Align" auf "baClient" ein. Vergrößern Sie auch die Schriftgröße und ändern Sie den Schrifttext, um die Bandpositionen besser zu sehen. Das Berichtdesign ist auf dem folgenden Bild zu sehen:
Beim Ausführen des Berichts werden Sie sehen, dass die Objekte im fertigen Bericht an den richtigen Positionen auf der Seite gedruckt werden.

Die Bänder sind also verantwortlich für die Positionierung von Objekten auf der Seite. Je nach Art des Bands können wir Objekte oben oder unten auf einer Seite und auf der ersten oder letzten Seite drucken. Die grundlegenden Bänder, die in den meisten Berichten benötigt werden, funktionieren wie folgt:
Band |
Position auf der Seite |
PageHeader |
wird ganz oben auf jeder Seite angezeigt |
PageFooter |
wird ganz unten auf jeder Seite angezeigt |
ReportTitle |
wird oben auf der ersten Seite angezeigt - dies kann vor oder nach dem "PageHeader"-Band sein, abhängig von der "TitleBeforeHeader"-Eigenschaft der Seite (zu finden im Objektinspektor, nachdem Sie auf einen freien Bereich auf der Seite geklickt haben) |
ReportSummary |
wird im freien Raum am Ende des Berichts angezeigt |
Der Bericht besteht aus mehreren Bändern die es Ihnen ermöglichen, Werte in verschiedenen Teilen des Berichts anzuzeigen. Bänder sind von verschiedenen Typen und werden in solche unterteilt, die keine Daten aus Tabellen oder Abfragen benötigen, und Bänder, die Daten aus Tabellen und Abfragen benötigen.
Wir zeigen den Haupttitel zu Beginn des Berichts im "ReportTitle"-Band, das Datum, die Seitenzahl oder einen Kommentar im "PageHeader" oder im "PageFooter"-Band an. Wenn Sie möchten, dass Daten am Ende des Berichts angezeigt werden, fügen Sie sie in das "ReportSummary"-Band ein.
Wir können Bänder des angegebenen Typs im Bericht verwenden oder nicht. Wir können sie über die Symbolleiste hinzufügen.
Die wichtigsten Eigenschaften von Bändern sind:
AllowSplit |
Gibt an, ob ein Band auf mehreren Seiten gedruckt werden kann. Wenn das Band nicht auf mehr als einer Seite gedruckt werden kann und höher ist als die Höhe der Seite, die für den Druck verfügbar ist, erscheint der untere Teil des Bands nicht.. |
Stretched |
Gibt an, ob die Höhe des Bands an die Höhe der Objekte darin angepasst werden soll. |
PrintOnFirstPage |
Gibt an, ob das Band auf der ersten Seite angezeigt wird. Nur Seitenkopf- und Seitenfußbänder haben diese Eigenschaft. |
PrintOnLastPage |
Gibt an, ob das Band auf der letzten Seite angezeigt wird. Einstellung nur für Seitenfuß verfügbar. |
ReprintOnNewPage |
Gibt an, ob das Band auf der nächsten Seite angezeigt wird. Einstellung nur für Seitenkopf verfügbar. |
StartNewPage |
Gibt an, ob das Band zu Beginn der nächsten Seite angezeigt wird. Einstellung ist für Bänder mit Datensatz verfügbar, außer für Gruppenfuß. |
Datenbänder
Jetzt lernen wir, wie man Daten aus Datenbanktabellen oder aus Abfragen druckt. Was wird als 'Tabelle' oder 'Abfrage' betrachtet? Sie bestehen aus Daten, die in Zeilen (Datensätze oder Reihen) organisiert sind, die eine oder mehrere Spalten (Felder) enthalten. Um diese Art von Daten zu drucken, verwendet FastReport einen speziellen Bandtyp, die verschiedenen Bänder, die „...Data“ genannt werden. Um eine ganze Tabelle oder nur einige ihrer Zeilen und Felder zu drucken, müssen Sie eines oder mehrere dieser Bänder zum Bericht hinzufügen, sie mit der Tabelle verbinden und Feldobjekte innerhalb von ihnen platzieren. Wenn FastReport den Bericht erstellt, werden die Bänder auf der Ausgabeseite gedruckt, einmal für jeden Datensatz in der Tabelle. Wenn auf der Ausgabeseite kein freier Platz mehr für ein Band vorhanden ist, wird eine neue Ausgabeseite von der Bericht-Engine erstellt, bevor sie fortfährt.
Bänder, die Daten benötigen, sind:
Name |
Beschreibung |
MasterData |
Daten der 1st Datenebene, die für jeden Master-Datensatz wiederholt wird.Es muss ein Datensatz definiert sein. |
GroupHeader |
Gruppentitel, der zu Beginn der Gruppe gedruckt wird. Bedingung, nach der die Felddaten gruppiert werden, muss definiert sein. |
GroupFooter |
Wird nach der Gruppe angezeigt. |
DetailData |
Daten der 2nd Datenebene, die für jeden Detail-Datensatz wiederholt wird. |
SubdetailData |
Daten der 3rd Datenebene, die einmal für jeden Unterdetail-Datensatz wiederholt wird. |
Hinzufügen eines Datensatzes zum Bericht
Um die Delphi-Komponente (und die damit verbundenen Daten) für den Bericht verfügbar zu machen, muss jeder im Bericht verwendete Datensatz aktiviert werden. Tun Sie dies über den Menüpunkt „Bericht> Daten...“ im Designer, indem Sie die erforderlichen Datensätze im geöffneten Dialogfeld auswählen.
