Auswählen des richtigen Objektmodells für Ihr Projekt

Um das richtige Objektmodell für Ihr Projekt auszuwählen, ist es erforderlich, dass Sie die bewährten Methoden zum Arbeiten mit dem CrystalReportViewer-Steuerelement kennen und wissen, wie CrystalReportViewer mit anderen Objektmodellen interagiert.

Bewährte Methoden für das Arbeiten mit dem CrystalReportViewer-Steuerelement

In einer effizienten Webanwendung findet eine klare Trennung zwischen der eigenen Darstellungsschicht und der zugrunde liegenden Geschäftslogik statt.

Das ASP.NET-Steuerelement ist so ausgelegt, dass dieses Muster automatisch unterstützt wird. Dabei werden die Darstellungsinformationen in das Steuerelement eingekapselt und das Steuerelement anschließend an ein zugrunde liegendes Objekt oder Objektmodell gebunden, das die Geschäftslogik ausführt.

CrystalReportViewer ist ein .NET-Steuerelement, das diese Architektur befolgt. Es hat in einem Web Form oder Windows Form (der Darstellungsschicht) die Funktion eines Anzeigeobjekts und kann an jedes der folgenden Berichtobjektmodelle gebunden werden:

  • ReportDocument-Objektmodell
  • Per Aktualisierung verfügbare Objektmodelle:
    • ReportClientDocument-Objektmodell (Report Application Server)
    • InfoObject-Objektmodell (Crystal Reports Server oder BusinessObjects Enterprise)

In einem auf bewährten Methoden basierenden Szenario wird das CrystalReportViewer-Steuerelement an eines der Objektmodelle gebunden, von denen die Geschäftslogik – normalerweise zur Berichtbearbeitung – ausgeführt wird.

In einem solchen Szenario wird die programmgesteuerte Interaktion des CrystalReportViewer-Steuerelements eingeschränkt, so dass lediglich Anzeigeeinstellungen geändert werden (indem beispielsweise die Symbolleiste des Viewers oder eine darauf befindliche Schaltfläche aus- oder eingeblendet wird).

CrystalReportViewer-Objektmodell

Das CrystalReportViewer-Steuerelement enthält Eigenschaften und Methoden, die Interaktionen im Hinblick auf die Berichtanzeige unterstützen. Darüber hinaus bietet es einige wenige Eigenschaften und Methoden für die Interaktion mit Berichten, die an das Steuerelement gebunden sind. Diese Eigenschaften und Methoden stellen ein begrenztes Objektmodell dar.

Einige Berichtbindungsszenarien basieren auf dem CrystalReportViewer-Objektmodell. In diesen Szenarien wird das CrystalReportViewer-Steuerelement direkt an einen Bericht gebunden (beispielsweise übergeben Sie einen Dateiverzeichnispfad für einen Bericht), ohne dass der Bericht zunächst in ein Objektmodell eingekapselt wird. Da der Bericht in diesen Szenarien direkt vom CrystalReportViewer-Steuerelement eingekapselt wird, muss bei der programmgesteuerten Interaktion mit dem Bericht das begrenzte Objektmodell des Steuerelements verwendet werden.

In den meisten Bindungsszenarien wird jedoch von der Verwendung von CrystalReportViewer als Objektmodell abgeraten. Aus den folgenden Gründen sollte das ReportDocument-Objektmodell verwendet werden:

  • Das CrystalReportViewer-Objektmodell erhöht das Risiko von Objektmodellkonflikten. Weitere Informationen finden Sie unter Vermeiden der Kombination von Objektmodellen.
  • Das CrystalReportViewer-Objektmodell unterstützt die Interaktion mit Berichten nur bis zu einem bestimmten Grad und umfasst nur eine kleine Teilmenge der im ReportDocument-Objektmodell verfügbaren Funktionen.
  • Im CrystalReportViewer-Objektmodell ist die Trennung zwischen Darstellungsschicht und zugrunde liegender Geschäftslogik im Code nicht eindeutig erkennbar.

Das ReportDocument-Objektmodell

ReportDocument ist ein wesentlich leistungsfähigeres und umfangreicheres Objektmodell als CrystalReportViewer. Es ist im Lieferumfang des Crystal Reports für Visual Studio SDKs enthalten und bietet umfassende Möglichkeiten zur Bearbeitung von Berichten im Code.

Eine Beschreibung sowie Diagramme zum ReportDocument-Objektmodell finden Sie in den Ausführungen zum ReportDocument-Objektmodell unter Architektur.

Lernprogramme, in denen Code für das ReportDocument-Objektmodell programmiert wird, finden Sie unter Lernprogramme mit dem ReportDocument-Objektmodell.

Aktualisierte Objektmodelle

Wenn Sie eine Aktualisierung Ihrer Berichterstellungslösung auf Crystal Reports Server oder BusinessObjects Enterprise durchführen, können Sie die Vorteile der Objektmodelle ReportClientDocument und InfoObject nutzen.

NoteAnmerkung

Falls Sie unsicher sind, welche Berichterstellungslösung für Ihre Anwendung geeignet ist, informieren Sie sich unter Vergleichen von Architekturen zwischen Business Objects-Berichterstellungslösungen.

Welches Objektmodell sollten Sie verwenden?

Wenn Sie derzeit keine Aktualisierung auf Crystal Reports Server oder BusinessObjects Enterprise durchführen möchten, wird das ReportDocument-Objektmodell als Modell für die Entwicklung mit dem Crystal Reports-SDK empfohlen.

NoteAnmerkung

In Crystal Reports 10 oder höher und Crystal Reports für Visual Studio 2005 und höher wurde eine Verbindung zwischen dem ReportDocument-Objektmodell und dem ReportClientDocument-Objektmodell geschaffen, um die Aktualisierung auf eine verwaltete Berichterstellungslösung zu vereinfachen.