Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

Datenbanken

k22:k22.11:start

22.11.0 Komponente gb.report2

Die Report-Komponente gb.report2 bietet die Möglichkeit, Daten aus unterschiedlichen Quellen strukturiert anzuordnen und auszudrucken. Das Layout eines Reports können Sie u.a. in der IDE mit dem Report-Designer festlegen.

Achtung! Der grafische Report-Designer ist kein WYSIWYG-Editor. Die einzelnen Report-Steuerelemente wie zum Beispiel Report.Label oder Report.Image - innerhalb einer Report-Sektion - können in Report-Container wie Report.HBox oder Report.Panel eingefügt werden. Die dann festgelegten Eigenschaften der Report-Steuerelemente werden aber nur teilweise angezeigt. Das gewählte Layout und Design können Sie jederzeit über eine Report-Vorschau und einen Kontroll-Ausdruck kontrollieren, um Korrekturen vorzunehmen. Eine Hilfe kann dabei die Festlegung der Eigenschaft Report.Debug auf den Wert True sein, weil in diesem Modus die Grenzen aller im Report enthaltenen Objekte eingezeichnet werden.

Als Alternative zum Einsatz des Report-Designers können Sie auch das komplette Layout und Design eines Reports über den Quelltext festschreiben. Das birgt aber stets die Gefahr, dass Sie fehlerhafte Werte für ausgewählte Eigenschaften eingeben oder die vorgegebene Syntax nicht einhalten, was Ihnen im Report-Designer so nicht passieren kann. Der Einsatz des Report-Designers bietet sich dann an, wenn das Layout mit vielen Containern und vielen Report-Steuerelementen umfangreich ist. Um zum Beispiel einen Rand um ein ReportPanel1 (links, rechts, oben und unten 5 mm, linke obere und untere rechte Ecke zusätzlich abgerundet mit einem Radius von 5 mm) mit linearem Farbverlauf schwarz-rot-gelb (linearer Gradient) zu definieren, benötigen Sie im Quelltext diese Wert-Zuweisung der Eigenschaft ReportPanel1.Border:

ReportPanel.Border = ReportBorder["Top:5mm LinearGradient(0,0.04,0,1,[#000000,#FFFF00,#FF0000],[0,1,0.5]);
Bottom:5mm LinearGradient(0,0.04,0,1,[#000000,#FFFF00,#FF0000],[0,1,0.5]);
Left:5mm LinearGradient(0,0.04,0,1,[#000000,#FFFF00,#FF0000],[0,1,0.5]);
Right:5mm LinearGradient(0,0.04,0,1,[#000000,#FFFF00,#FF0000],[0,1,0.5]);
TopLeftCorner:5mm;TopRightCorner:0mm;BottomRightCorner:5mm;BottomLeftCorner:0mm"]

Die Komponente reimplementiert die Klassen Align, Arrange und Line und implementiert eine Vielzahl von Report-Klassen:

Report, ReportBorder, ReportBoxShadow, ReportBrush, ReportContainer, ReportControl, ReportDrawingArea, 
ReportFrame, ReportHBox, ReportImage, ReportLabel, ReportLine, ReportMargin, ReportPadding, ReportPageBreak, 
ReportPanel, ReportSection, ReportSizeHints, ReportSizeParser, ReportSvgImage, ReportTextLabel, 
ReportVBox, ReportView, ReportVPanel, TSizeParse.

Eine Beschreibung der Eigenschaften zu den Klassen Align, Arrange und Line finden Sie unter:

https://www.gambas-buch.de/doku.php?id=k20:k20.7:start&s[]=align#klasse_align
https://www.gambas-buch.de/doku.php?id=k20:k20.7:start&s[]=align#klasse_arrange
http://gambaswiki.org/wiki/comp/gb.qt4/line

22.11.0.1 Klasse Report

Die wichtigste Klasse der Komponente gb.report2 ist Report, denn diese Klasse repräsentiert einen Report.

Die Klasse verhält sich wie ein schreibgeschütztes Array und liefert ein virtuelles Objekt vom Datentyp ReportSection für den vorgegebenen Index:

Dim hReport As Report
Dim hReportSection As ReportSection
hReportSection = hReport [ Index As Integer ]

22.11.0.1.1 Eigenschaften der Klasse Report

Beachten Sie, dass viele Eigenschaften über andere Klassen wie zum Beispiel ReportPadding, ReportBrush oder ReportBoxShadow definiert werden. So ist zum Beispiel die Eigenschaft `Report.Border` vom Typ ReportBorder. Das bedeutet, dass diese Eigenschaften speziell für den Report gelten und nicht unbedingt mit den gleichlautenden Eigenschaften anderer Steuer-Elemente vergleichbar sind.

Die Klasse Report verfügt über folgende Eigenschaften:

EigenschaftDatentypBeschreibung
BackGroundReportBrushGibt die vom Report verwendete Hintergrundfarbe zurück oder setzt sie.
BorderReportBorderLiefert oder setzt den Rand des Reports.
BoxShadowReportBoxShadowGibt den vom Report verwendeten Schatten zurück oder setzt ihn.
BrushReportBrushGibt den für das Zeichnen verwendeten Pinsel zurück oder setzt ihn. Der Standard-Pinsel hat eine einfarbige, deckend schwarze Farbe.
ChildrenReportControl[]Gibt eine Sammlung aller Steuer-Elemente zurück, die im Container enthalten sind.
CountIntegerLiefert oder setzt die Anzahl der Sektionen im Report.
DataObjektk.A.
DataCountIntegerLiefert oder setzt die Anzahl der Wiederholungen, die zum Lesen aller Daten erforderlich sind.
DataIndexIntegerGibt den Wert des Wiederholungszählers zurück.
DebugBooleanFür den Wert True werden die Reports im Debug-Modus erzeugt. Dieser Modus zeichnet die Grenzen aller im Report enthaltenen Objekte. Der Standard ist False. Der Wert kann auch ausgelesen werden.
Expand BooleanLiefert oder setzt, ob sich ein Steuerelement expandiert, wenn es in einem Container enthalten ist. Standard ist True.
FixedBooleanGibt zurück oder legt fest, ob ein Steuerelement bei jedem Aufruf seines übergeordneten Elements angezeigt wird. Für den Wert False wird das Report-Steuerelement nur einmal angezeigt.
FontFontLiefert oder setzt die Schriftart, mit der Text im Steuerelement gezeichnet wird. Um die Schriftart-Steuerung zur Laufzeit zu ändern, können Sie Folgendes tun: Verwenden Sie die Font-Eigenschaft eines anderen existierenden Steuer-Elementes oder erzeugen Sie ein Font-Objekt aus einer Zeichenkette, die die Schrift beschreibt und weisen das dem Report-Steuerelement zu. Informationen finden Sie u.a. unter http://www.gambaswiki.org/wiki/comp/gb.qt4/font/_get.
ForceNewPageBooleanFür den Wert True wird eine neue Seite in den Report eingefügt.
HeightString !Gibt die vom Report verwendete Höhe zurück oder setzt sie. Die Höhe ist vom Datentyp Float. Zulässige Einheiten sind: mm, cm, in, ft, px, pt und Angaben in %. Beispiel: Height = „1.3cm“.
WidthString !Liefert oder setzt die Breite des Reports.
IDIntegerLiefert das Handle des Reports.
IndexIntegerk.A.
NameStringSetzt den Namen des Reports.
OnePieceBooleanDiese Eigenschaft bewirkt, dass für den Wert True der Inhalt des Containers auf der gleichen Seite gedruckt wird.
OrientationIntegerLiefert oder setzt die Ausrichtung des Layouts des Reports. Der Wert dieser Eigenschaft ist entweder Printer.Landscape oder Printer.Portrait.
PaddingReportPaddingLiefert oder setzt den Abstand, den ein untergeordnetes Report-Steuerelement vom Rand des Containers trennt. Das gilt für ein Report-Steuerelement als auch für Text. Beispiel: Report1.Padding = ReportPadding[„Top:14mm;Bottom:10mm;Left:10mm;Right:14mm“]
PageCountIntegerLiefert die aktuelle Anzahl der Seiten im Report.
PaperIntegerGibt das für den Druck verwendete Papierformat zurück oder stellt sie ein. Es wird Paper.Custom zurück gegeben, wenn die Eigenschaften Printer.PaperWidth oder Printer.PaperHeight durch den Benutzer definiert wurden. Beispiel: Report1.Paper = Printer.A5. Standard ist A4.
ReportReportLiefert den Report für ein Report-Steuerelement.
ResolutionIntegerLiefert oder setzt die Report-Auflösung in DPI (Dots Per Inches). Wenn der Wert Null ist, wird der Wert des Geräts verwendet.
ScaleFloatÄndert den Zeichnungsmaßstab. Er nimmt einen Wert zwischen 0 und 1 an. Sie können den Wert auch auslesen.
SpacingStringLiefert oder setzt den Abstand, der die Report-Steuerelemente in einem Report-Container trennt. Zulässige Einheiten sind: mm, cm, in, ft, px, pt und Angaben in %. Beispiel: Report1.HBox1.Spacing = „5mm“
TagVariantLiefert oder setzt das Control-Tag. Diese Eigenschaft ist für den Programmierer bestimmt und wird von der Komponente nicht verwendet. Tag kann ein beliebiger Wert vom Datentyp Variant sein.
TextStringLegt den Titel einer Sektion eines Reports fest.
VisibleBooleanLegt fest, ob der Report sichtbar ist oder nicht.

Tabelle 22.11.0.1.1 : Eigenschaften der Klasse Report

Die Eigenschaft Paper kann einen der folgenden Werte annehmen:

  • Printer.A4 210 × 297 mm, 8,26 × 11,69 Zoll (Standard).
  • Printer.A3 297 × 420 mm.
  • Printer.A5 148 × 210 mm.
  • Printer.B5 182 × 257 mm, 7,17 × 10,13 Zoll.
  • Printer.Letter 216 × 279 mm, 8,5 × 11 Zoll.
  • Printer.Executive 191 × 254 mm, 7,5 × 10 Zoll.
  • Printer.Legal 16 × 356 mm, 8,5 × 14 Zoll.
  • Printer.PaperWidth Benutzerdefinierter Wert
  • Printer.PaperHeight Benutzerdefinierter Wert

22.11.0.1.2 Methoden der Klasse Report

Die Klasse Report verfügt über diese Methoden:

MethodeRückgabetypBeschreibung
Clear ( )-Entfernt alle Report-Steuerelemente aus dem aktuellen Report.
Clone ( )ReportEs wird eine neue Instanz des aktuellen Reports zurückgegeben.
Layout ( )-Erzwingt das Layout oder wiederholt die Layout-Berechnungen für den aktuellen Report.
Paint ( Page As Integer )-Zeichnet die angegebene Report-Seite. Beachten Sie, dass die erste Seite 1 und nicht 0 ist.
Preview ( )-Öffnet ein Vorschaufenster mit dem aktuellen Report. Sie können den Report dann auf einem Drucker ausdrucken oder in eine PDF-Datei drucken, deren Pfad Sie im Dialog frei wählen können.
Print ( [ hPrinter As Printer ] )-Druckt den Report. Wenn der Drucker angegeben wird (optional), so wird der Report sofort auf dem angegebenen Drucker ausgedruckt. Sonst öffnet sich ein Dialog, weil intern Printer.Configure() aufgerufen wird, wenn mindestens ein Drucker als Standarddrucker im System existiert.

Tabelle 22.11.0.1.2 : Methoden der Klasse Report

Download

Die Website verwendet zwei temporäre Session-Cookies. Diese technisch notwendigen Cookies werden gelöscht, wenn der Web-Browser geschlossen wird! Informationen zu Cookies erhalten Sie in der Datenschutzerklärung.
k22/k22.11/start.txt · Zuletzt geändert: 18.08.2021 (Externe Bearbeitung)

Seiten-Werkzeuge