Typischer Fehler
Also, die Eigenschaft ReportCacheMode ist für das Caching des Berichtes verantwortlich. Die Benutzer aktivieren oft diese Eigenschaft vor dem Laden vom Bericht. Das Beispiel:StiReport report = new StiReport();
report.ReportCacheMode = StiReportCacheMode.On;
report.Load(path);
In diesem Fall wird das Caching des Berichtes nicht aktiviert, weil die Eigenschaft ReportCacheMode, wie die meisten Eigenschaften des Berichtes, in der Berichtsvorlage gespeichert wird. Darum wird der Wert, der vor dem Laden des Berichtes gestellt wird, durch den Wert aus der Vorlage ersetzt.Lösung
Auf diese Weise, man muss die Eigenschaft ReportCacheMode auf On nicht vor, sondern NACH dem Laden des Berichtes stellen, um das Caching des Berichtes aus dem Code zu aktivieren.Entsprechend, wird der Code so aussehen:
StiReport report = new StiReport();
report.Load(path);
report.ReportCacheMode = StiReportCacheMode.On;
Technische Besonderheiten
Noch eine häufig gestellte Frage: die Eigenschaft ReportCacheMode ist nicht in der Vorlage gespeichert, aber sie wird trotzdem auf Off nach dem Laden vom Bericht gestellt. Warum?Um die Größe der Vorlage-Datei zu reduzieren, werden beim Speichern in diese Vorlage nur solche Werte eingetragen, die sich von den standardmäßigen Werten unterscheiden. Vor dem Laden der Vorlage in der Methode report.Load() werden die meisten Eigenschaften automatisch auf standardmäßigen Wert gestellt. Und im Moment des Ladens von der Vorlage werden die Eigenschaften auf die Werte aus der Vorlage gestellt.
Deshalb, wenn die Eigenschaft vor dem Laden des Berichtes geändert wird, wird sie trotzdem auf den standardmäßigen Wert vor dem Laden des Berichtes gestellt.