我有一个包含 6 个图表的 XtraReport,其中包含 4-8 个 LineSeries,每个 Series 最多可以有 25,000 个点。数据来自数据库表的查询。
问题是,绘制报告大约需要 3 分钟,这对我们来说太长了。所以我们需要减少点数(我已经在另一种情况下这样做了,所以我知道该怎么做)。
但是执行这种还原操作的“正确位置”在哪里?在 ReportPreview 控件所在的屏幕中,并将一个新的集合(包含所有系列)作为参数传递给报表?是否可以使用这样的自定义对象作为参数?
或者我应该先在报告中加载数据库表,然后再减少它?
如何通过代码访问 XtraReport 中的数据源?
以及如何告诉我的图表组件选择我的集合作为数据源而不是数据库查询结果?
还有任何其他提高 XtraReports 和图表性能的方法。
谢谢。
编辑
我们创建了一个减少点数的 SQL 视图,并且还使用了带有 LINQ 的 Preprocess_query 方法中的一些代码来仅使用需要的点。