ReportDocument-Objektmodell

Die ReportDocument-Klasse bietet ein umfassenderes Objektmodell für das SDK als das CrystalReportViewer-Objektmodell.

Die ReportDocument-Klasse ist Teil des CrystalDecisions.CrystalReports.Engine-Namespaces. Sie fungiert als Verbindung zu einer Gruppe von Klassen im Engine-Namespace, die zusätzliche Tools für die programmgesteuerte Bearbeitung eines Berichts bereitstellen.

Das ReportDocument-Objektmodell

Im vorangehenden Abschnitt haben Sie sich mit dem grundlegenden CrystalReportViewer-Objektmodell vertraut gemacht, indem Sie dem CrystalReportViewer-Steuerelement direkt eine Zeichenfolge mit dem Berichtpfad zugewiesen haben. Siehe CrystalReportViewer-Objektmodell.

Auf der nächsten Ebene des Objektmodells verwenden Sie das ReportDocument-Objektmodell, um den Bericht innerhalb einer ReportDocument-Instanz einzukapseln, bevor er dem Steuerelement zugewiesen wird. Dadurch erhalten Sie Zugriff auf das komplexere und leistungsstärkere Objektmodell in ReportDocument.

NoteAnmerkung

Da beide Objektmodelle an diesem Prozess beteiligt sind (CrystalReportViewer zum Laden und Anzeigen des Berichts und ReportDocument zum Einkapseln und Bearbeiten des Berichts), können die Funktionen der beiden Objektmodelle leicht verwechselt werden. Nachdem der Bericht mit Hilfe des ReportDocument-Objektmodells eingekapselt wurde, muss die gesamte Berichtbearbeitung auf dieses Modell beschränkt werden. Wenn Sie versuchen, den Bericht mit den Eigenschaften und Methoden von CrystalReportViewer zu bearbeiten, wird ein Konflikt zwischen den beiden Objektmodellen verursacht, was ein unerwartetes Verhalten zur Folge hat.

Nach der Einführung eines zusätzlichen Objektmodells sollten Sie die Verwendung des CrystalReportViewer-Codes auf die Festlegung von Anzeigeeigenschaften beschränken.

Weitere Informationen zur Auswahl eines Objektmodells finden Sie unter Welches Objektmodell sollte verwendet werden?.

ReportDocument und ReportClientDocument (RAS)

In Crystal Reports 9 handelte es sich bei den beiden Objektmodellen um zwei völlig separate Modelle. In Crystal Reports 10 und höher wurden die grundlegenden Unterschiede zwischen den Objektmodellen aufgehoben. Das ReportDocument-Objektmodell funktioniert nun stellvertretend für (eine Teilmenge von) Funktionen des ReportClientDocument-Objektmodells.

Crystal Reports 2008 ermöglicht über die ReportDocument.ReportClientDocument-Eigenschaft den Zugriff auf eine eingeschränkte Version des ReportClientDocument-Objektmodells.

Diagramm des ReportDocument-Objektmodells

Dieses Diagramm verdeutlicht die Beziehungen des ReportDocument-Objektmodells.

Abbildung 3: ReportDocument-Objektmodell

Siehe auch