如何为动态结果集保留自定义分页? (即)基于10个Dropdown选择,我的存储过程将动态生成结果集,但它会填充数百万条记录。
行静态知道记录计数,cusom分页是有效的,但如何实现动态增长的结果集呢?
问题
我必须将通用List绑定到GridView,列是固定的,但是返回的行数是未知的,但是没有自定义分页,我的GridView花了30分钟来填充结果。
答案 0 :(得分:2)
如果可能,您应该使用LINQ,因为可扩展操作可以轻松进行分页。
基本上,您可以为GridView指定ObjectDataSource或LinqDataSource。
然后,您将拥有一个IQueryable<T>
方法,该方法接受要检索的起始位置和行数。
然后,您可以使用Skip()
和Take()
来实现简单的分页。
Here's这是一篇非常好的文章。
请记住,Skip()
和Take()
是暴露给任何实现IEnumerable的类的方法。因此,即使上面的文章使用LINQ-SQL作为其数据存储库,只要您自己的DAL公开类型为IEnumerable
的集合,您就可以使用Skip and Take模式。
希望有所帮助。
答案 1 :(得分:0)
执行此服务器端的简单方法是使用LINQ。采用.Take()方法。