Show / Hide Table of Contents

    Report Document Type

    Report Document Types stellen die Verbindung zwischen den Components und den Reports dar. Sie definieren, was für Daten in welchem Report ausgegeben werden. Ein Report Document Type enthält eine Angabe, welche Components ausgedruckt werden sollen und welche Reports dafür zur Verfügung stehen. Diese Report Document Types können später in Forms verwendet werden.

    Report-Document Types sind an dem rpt-icon– Icon zu erkennen.

    Erstellen, bearbeiten und löschen von Report Document Types

    Sie erstellen einen neuen Report Document Type, indem Sie in der Registerkarte Namespaces den Namespace auswählen, in dem der Report Document Type abgelegt werden soll.

    Mit dem Button new-button(New) und dem Eintrag ReportDocuemtType aus dem Menü wird im markierten Namespace ein neuer Report Document Type angelegt. Dieser wird auch gleich geöffnet. Direkt nach dem Anlegen des Report Document Types steht der Cursor in dem sich öffnenden Designer auf dem Feld Name, wo Sie gleich den Namen eingeben können.

    Es wird empfohlen, den Namen mit rpt zu beginnen.

    Löschen können Sie einen Report Document Type mit dem Button delete-button (Delete). Sie müssen dazu den gewünschten Report Document Type im Namespace-Baum markiert haben. Es gibt auch im Kontext-Menü den Eintrag Delete. Der Löschvorgang wird erst im Repository wirksam, wenn Sie den Button saveall-button (Save All) drücken.

    DataSource

    Unter Datasource werden die Components angegeben, die in einem Report ausgegeben werden sollen. Es ist möglich, mehrere Components (Collections) aus unterschiedlichen Namespaces einzubinden.

    Jede Component wiederum kann für mehrere Reports als Datasource angegeben werden.

    Report Document Type – Registerkarte DataSource

    Mit dem Button Add wird ein neuer Eintrag in der Liste erstellt. In der Combobox Datatype können Sie angeben, welche Component / Collection verwendet werden soll. Im Feld Name können Sie dem Eintrag einen Namen geben. Dieser wird anhand des ausgewählten Datentyps mit einem Standard-Namen vorbelegt.

    Diese Einträge sind sozusagen die Properties des Reports. Diese Properties müssen später beim Druck mit Werten gefüllt werden.

    Wenn Sie Components oder Collections eingebunden haben, können Sie die Properties aufklappen und die Properties der Component / Collection werden angeboten. Sind dies wiederum Components, können diese wiederum aufgeklappt werden.

    In diesem Baum können Sie angeben, welche Properties an den Report übergeben werden sollen. Dazu müssen Sie die Checkbox an dem entsprechenden Eintrag setzen.

    Aus diesen Daten wird eine XSD-Datei (XML-Definition) erstellt. Diese XSD-Datei kann einem Crystal-Report zugewiesen werden. So versteht der Report die Daten, die ihm übergeben werden. Mit jedem Klick im Baum wird die XSD-Datei neu erzeugt. Sie wird im Report-Pfad der aktuellen Applikation abgelegt. Und bekommt folgenden Namen: Namespaces.rptXXX.xsd.

    Zum Einstellen des Pfades siehe Kapitel Code-Builder / Applications (Application).

    Beim Druck werden die kompletten Components / Collections an den ReportDocmentType übergeben. Es werden aber nur die ausgewählten Daten weitergegeben. Umso größer die Listen, desto wichtiger ist es, dass nur die Daten übergeben werden, die wirklich benötigt werden.

    Aus den Daten wird XML erzeugt. Dieses wird dann Crystal Reports übergeben, wo die Daten entsprechend aufbereitet und ausgegeben werden.

    Crystal Reports

    Auf der Registerkarte Crystal Reports können dem Report Document Type mehrere Reports zugewiesen werden.

    Report Document Type – Crystal Reports

    Einen neuen Report fügen Sie beispielsweise über das Kontextmenü der Tabelle hinzu, in der die Reports angezeigt werden.

    Mit der Checkbox Include Base Reports legen Sie fest, ob vererbte, nicht geänderte Basisreports später in der Applikation zur Auswahl stehen sollen. Sie hat Einfluss darauf, was die Methode ReportDocument.GetReportEnums() zurückgibt.

    Die folgenden Einstellungen beziehen sich auf den in der Tabelle ausgewählten Report:

    Im Feld Name kann dem Report ein Name gegeben werden.

    Warning

    Dieser Name darf keine Leer- und Sonderzeichen enthalten, weil dieser später im Code zum Einsatz kommt.

    Im Feld File kann ein vorhandener Report geöffnet und eingebunden werden. Dieser Report muss als Datenquelle das erzeugte XSD-File besitzen.

    Mit dem Button Edit Report wird der Report über ein externes Tool bearbeitet.

    Warning

    Zum Erstellen und Editieren von Reports benötigen Sie Crystal Reports oder Visual Studio.

    Mit dem Button New Report wird ein neuer Report zugewiesen.

    Der Button Choose Report öffnet einen Dateiauswahl Dialog, in dem Sie einen neuen, bereits existierenden Report zuweisen können.

    Caption

    Im Report Document Type können Sie für Crystal Reports lokalisierte Bezeichnungen (Captions) hinterlegen, also die Bezeichnung mehrsprachig pflegen. Diese Captions können zur Laufzeit ausgewertet werden, um z.B. im Druck-Dialog bei der Auswahl der unterschiedlichen Report-Varianten einen sprechenden Text auszugeben.

    Crystal Report mit Visual Studio erstellen

    Öffnen Sie Visual Studio.

    Legen Sie jetzt ein neues Projekt an (Visual C# Project / leeres Projekt oder empty Project) oder öffnen Sie ein bereits vorhandenes Projekt.

    Es empfiehlt sich, ein Projekt zur Erstellung und Pflege von Reports anzulegen und dieses immer wieder zu verwenden.

    Menu Project / Add New Item

    Crystal Report auswählen und Open drücken.

    Es öffnet sich ein Wizard zum Erstellen eines Crystal Reports.

    Crystal Report Gallery:

    Crystal Report Gallery

    Auf OK drücken.

    Standard Report Expert Registerkarte Data:

    Standard Report Expert Registerkarte Data

    In diesem Fenster wählen Sie den Eintrag Database Files aus. Es öffnet sich ein Datei-Auswahl-Dialog. Hier wählen Sie die von Framework Studio generierte XSD-Datei aus. Diese Datei befindet sich in dem Report Directory, der in Applications angegeben wurde.

    Unter Database Files wird die XSD-Datei und darunter die darin enthaltenen Tabellen angezeigt. Jede im Report Document Type eingebundene Component wird als eine Tabelle angeboten und bekommt den Namen, den Sie angegeben haben. Ist in einer Component eine andere Component enthalten und wurde diese ebenfalls ausgewählt, wird diese als eigenständige Tabelle angeboten.

    Sie können nun die gewünschten Tabellen mit einem Doppelklick auswählen. Sie werden dann in die rechte Listbox eingetragen.

    Mit Next öffnet sich die Registerkarte, in dem Sie die Felder auswählen können, die der Report anzeigen soll.

    Standard Report Expert Registerkarte Fields

    Wählen Sie die gewünschten Felder mit Doppelklick oder Add aus. Mit den Pfeilen über der Liste, mit den ausgewählten Feldern, können Sie noch die Reihenfolge der Felder ändern.

    Mit Next öffnen sich weitere Fenster, in denen Sie Gruppierungen, Summen, Layouts und weitere Einstellungen vornehmen können.

    Mit Finish wird der Report erzeugt.

    Crystal Report mit Visual Studio aktualisieren

    Wenn Sie in DataSource Components oder Properties hinzufügen oder entfernen, ändert sich die Schnittstelle zum Report und somit auch die XSD-Datei. Dann ist es notwendig, dass diese Änderung dem Report mitgeteilt wird.

    Dazu öffnen Sie wieder Visual Studio, legen ein leeres Projekt an oder öffnen Ihr Crystal-Reports-Projekt. Am besten fügen Sie zum Projekt den Report aus dem Report-Verzeichnis von Framework Studio hinzu. (Menu Project / Add Existing Item)

    Warning

    Achtung: als Dateityp geben Sie Crystal Reports an.

    Rufen Sie im Field-Explorer bei Database Fields Verify Database auf.

    Project2 – Microsoft Visual C#.NET [design] – Customer1.rpt* rpt-design

    Wenn die XSD-Dateien nicht gefunden werden, fragt Visual Studio nach, wo diese zu finden sind.

    Es werden jetzt die neuen Felder hinzugefügt und die entfernten Felder gelöscht. Das Löschen kann ggf. zu Fehlermeldungen führen.

    Wenn Sie neue Components eingebunden haben, können diese mit dem Befehl Add/Remove Database manuell hinzugefügt werden.

    Für den Druck relevente Klassen

    • ReportDocument
    • ReportEnum
    • PrintServer
    • PrintQueue
    Back to top Generated by DocFX