2

我在本地处理模式下使用 ReportViewer,并使用 linq-to-entites (IQueryable<>) 获取数据。数据还包含图像,这些图像在表格内的报表中呈现。在示例数据库上运行时,生成的数据集大约有 30000 个项目。

即使报表被分成页面,ReportViewer 仍然同时加载所有记录。我将图像源从 [Database] 更改为 [external],并通过服务 (.ashx) 实现图像加载以加快 SQL 查询速度。报表查看器仍然会加载所有图像(不仅是显示页面的图像),而且只加载报表。

您知道如何提高报告的性能吗?为什么报表查看器不使用分页,而是加载所有数据?也许我做错了什么?如何让reportviewer 逐页加载数据。

4

1 回答 1

0

来自关于何时使用本地处理的 MSDN 页面

“由于所有数据和报表处理都是在客户端上执行的,因此如果您尝试处理大型或复杂的报表和查询,您可能会遇到性能下降。”

来源: http: //msdn.microsoft.com/en-us/library/ms251704 (v=vs.80).aspx

可能的解决方案:尝试添加一个报告过滤器以逻辑方式分解结果集。

于 2012-11-03T15:22:24.597 回答