Stimulsoft Ultimate (原Stimulsoft Reports.Ultimate)是用于创建报表和仪表板的通用工具集。该产品包括用于WinForms、ASP.NET、.NET Core、JavaScript、WPF、PHP、Java和其他环境的完整工具集。无需比较产品功能,Stimulsoft Ultimate包含了所有内容!
Stimulsoft Reports.Ultimate不仅拥有强大的报表导出系统,而且还支持多种报表导出格式,拥有简单且强大的报表引擎。Stimulsoft Reports.Ultimate基本原则是,用简单常规的方法创建报表,将不同的技术应用于应用程序。
今天,我们将解决用户最常问的问题之一:如何从代码启用报表缓存?
Stimulsoft Reports官方正版下载(qun:740060302)https://www.evget.com/product/2398/download
典型错误
ReportCacheMode属性负责报表缓存,用户通常在加载报表之前启用该缓存。例如:
StiReport report = new StiReport(); report.ReportCacheMode = StiReportCacheMode.On; report.Load(path);
在这种情况下,将不会启用报表缓存,原因如下: 所需的ReportCacheMode属性与大多数报表属性一样,保存在报表模板中。因此,加载报告之前设置的任何值都将被模板中的值覆盖。
解决方案
要从代码启用报表缓存,您需要在加载报表之后而不是之前将ReportCacheMode属性设置为On
。因此,代码将如下所示:
StiReport report = new StiReport(); report.Load(path); report.ReportCacheMode = StiReportCacheMode.On;
技术复杂性
另一个常见问题:为什么模板中没有保存ReportCacheMode属性,但加载报表后仍将其设置为Off?为
了减小模板文件的大小,在保存过程中仅将那些值与默认值不同的属性写入其中。在使用report.Load()方法加载模板之前,大多数属性会自动设置为其默认值。在加载过程中,属性将被设置为模板中的值。
因此,如果在加载报表之前更改属性,则在加载报表之前该属性仍将设置为其默认值。