网格加载太慢而没有分页

时间:2013-08-29 08:20:27

标签: asp.net

我们开发了Asp.net网络应用程序。我们正在使用asp.net gridview来显示记录和编辑。

这里我们在单个网格中有5000行和23列。它需要很长时间才能绑定。我们的客户拒绝分页选项。如何使用5000到7000条记录更快地进行绑定。

请告知。

由于

Mayil.M

3 个答案:

答案 0 :(得分:0)

您的数据来自哪里?是数据库还是其他外部资源?

您可以使用缓存,因此您不会从外部资源加载整个数据集,而是从内存加载。请注意,如果您的数据经常更改,此解决方案将无效。

另一种方法是使用某种部分加载机制,例如使用Ajax。然而,这将需要改变方法,因为我不确定网格视图控件是否支持这一点。您必须创建自定义控件,然后为较小的数据块(例如,200条记录)发出顺序请求(使用例如Ajax)并显示它们。最终您将拥有完整的设置,但数据将更快地可用。

最后,您可以将两者结合起来,使其更快。

答案 1 :(得分:0)

您应该实现自己的分页机制。问题是DataBind检索所有7000条记录(尽管只显示/呈现了20条记录)。例如,创建一个只获取所选记录范围的存储过程(如果您在第2页上,则只需显示记录ID> 20和< = 40 - 考虑到您的pagesize为20)。使用SQL Server CTE获取行号(在SQL Server端)和BETWEEN之类的功能。此存储过程将仅返回您真正需要的记录。然后更改网格视图以从此存储过程中获取数据。

答案 2 :(得分:0)

您可以在Facebook墙上滚动数据。