Heute erforschen wir eine der am häufigsten gestellten Fragen unserer Benutzer – wie kann man das Caching des Berichtes aus dem Code aktivieren?

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.
By using this website, you agree to the use of cookies for analytics and personalized content. Cookies store useful information on your computer to help us improve efficiency and usability. For more information, please read the privacy policy and cookie policy.