Die Erstellung einer Kreuztabelle (Cross-tab Objekt)
Gehen wir von der Theorie zur Praxis über. Erstellen wir eine einfache Kreuztabelle. Diese soll das Gehalt der Mitarbeiter für die letzten vier Jahre anzeigen. Wir benötigen dafür die Tabelle „crosstest“, welche im Ordner FastReport DEMOS\MAIN enthalten ist. Die Tabelle enthält folgende Daten:
Name Year Salary
---- ---- ------
Ann 1999 3300
Ben 2002 2000
...
Wie üblich erstellen wir ein neues Projekt in Delphi. In die Form fügen wir die Komponenten TTable
, TfrxDBDataSet
, TfrxReport
ein und stellen diese wie folgt ein:
Table1:
DatabaseName = 'c:\Program Files\FastReports\FastReport 6\Demos\Main'
TableName = ' crosstest.db'
// Selbstverständlich muss der Wert der Eigenschaft DatabaseName,
// dem Pfad zu Ihrem Ordner FastReport entsprechen!
frxDBDataSet1:
DataSet = Table1
UserName = 'SimpleCross'
Um Kreuztabellen konstruieren zu können, müssen Sie die Komponente TfrxCrossObject
aus dem Satz der FastReport Komponenten verwenden. Legen Sie diese einfach auf die Seite, man muss nichts einstellen. In die Liste "uses" Ihres Projektes wird das Modul frxCross hinzugefügt, dieses besitzt alle benötigten Funktionalitäten.
Gehen wir in den Reportdesigner. Als erstes verknüpfen wir die Datenquelle im Menü „Report|Daten...“. Auf das Blatt legen wir nun das Objekt „Datenbank Cross-tab Objekt“ :
Alle Einstellungen werden mit dem Editor des Objektes gemacht. Diesen rufen wir über den Doppelklick auf:
Die Zahlen bedeuten:
1 – Drop-Down-Leste der vorhandenen Datenquellen;
2 – die Liste der Felder in der Datenquelle; Diese können nach 3, 4, 5 rübergezogen werden;
3 – die Liste der Felder, die die Kopfzeile darstellen werden;
4 – die Liste der Felder, die die Spaltenüberschriften darstellen werden;
5 – die Liste der Felder, die die Zellen der Tabellen darstellen werden;
6 – hier wird die Struktur der zukünftigen Tabelle angezeigt;
7 – die Objekteinstellungen.
Wie man sieht wird hier nur mit der Maus gearbeitet. In unserem Fall werden nur die Felder aus Liste 2 in die Listen 3, 4, 5 rübergezogen. Mehr machen wir fürs erste nicht und schließen den Editor mit OK. Jetzt sehen wir, dass das Objekt diese Struktur auf der Reportseite annimmt:
Wenn wir den Report nun starten, erscheint folgendes: