Vermeiden der Kombination von Objektmodellen

Das CrystalReportViewer-Objektmodell sollte nicht mit anderen Objektmodellen "vermischt" werden.

Das CrystalReportViewer-Steuerelement funktioniert in seiner Funktion als begrenztes Objektmodell einwandfrei, wenn Sie das Steuerelement mit einer einfachen Pfadzeichenfolge direkt an den Bericht binden.

Wenn Sie den Bericht jedoch in eines der anderen Objektmodelle (z. B. ReportDocument oder ReportClientDocument) einkapseln und das Steuerelement dann an dieses Objektmodell binden, sollten Sie keinesfalls direkt das CrystalReportViewer-Objektmodell nutzen. Das begrenzte, vom CrystalReportViewer-Steuerelement bereitgestellte Modell wird im Vergleich zum leistungsfähigeren Objektmodell, an das es gebunden wird, redundant. Darüber hinaus sind die auf das CrystalReportViewer-Objektmodell angewendeten Einstellungen für das andere Objektmodell erkennbar, was zu unerwartetem Verhalten und Ausnahmen führen könnte.

Angenommen, Sie möchten das ReportDocument-Objektmodell verwenden, um einen Monatsbericht vom Server zu exportieren oder zu drucken. Wenn Sie für diesen Bericht mit dem CrystalReportViewer-Objektmodell einen Monatsparameter angegeben haben, können Probleme auftreten. Das ReportDocument-Objektmodell ist nicht in der Lage, die im CrystalReportViewer-Objektmodell angewendeten Parametereinstellungen festzustellen. Folglich wird der Bericht ohne Berücksichtigung der Parametereinstellung für den Monat exportiert bzw. gedruckt, wodurch der falsche Monat angezeigt oder sogar eine Ausnahme ausgelöst wird.

Die beste Lösung besteht darin, das CrystalReportViewer-Steuerelement nur dann zum Bereitstellen von Anzeigeeinstellungen zu verwenden, wenn es an eines der zugrunde liegenden Objektmodelle gebunden wurde.