1

如何为动态结果集保留自定义分页?(即)基于 10 个下拉列表选择,我的存储过程将动态生成结果集,但它会填充数百万条记录。

行静态知道记录数,自定义分页效率高,但是动态增长的结果集如何实现呢?

问题

我必须将通用列表绑定到 GridView,列是固定的,但是重新调整的行数是未知的,但是没有自定义分页,我的 GridView 花了 30 分钟来填充结果。

4

2 回答 2

2

如果可能,您应该使用 LINQ,因为可扩展的操作便于分页。

本质上,您将为 GridView 指定ObjectDataSourceLinqDataSource

然后,您将拥有一个IQueryable<T>接受起始位置和要检索的行数的方法。

然后你利用Skip()andTake()来实现简单的分页。

这是一篇关于这样做的非常好的文章。

请记住,Skip()andTake()是公开给任何实现 IEnumerable 的类的方法。因此,即使上面的文章使用 LINQ-SQL 作为他们的数据存储库,只要您自己的 DAL 公开 type 的集合IEnumerable,您就可以使用 Skip and Take 模式。

希望有帮助。

于 2010-07-29T00:35:12.857 回答
0

执行此服务器端的一种简单方法是使用 LINQ。采用 .Take() 方法。

于 2010-07-28T21:51:47.303 回答