如何将分页应用于数据集?

时间:2010-05-11 11:37:31

标签: asp.net .net pagination dataset

如何将分页应用于数据集?我有一个方法,我从数据集动态构建一个表。查询从中获取数据集的数据库不是问题,但是从数据集迭代数据行的速度很慢。

要在加载包含大量数据行的页面时提高性能,我想应用分页功能。

一个很好的功能是用户能够设置pagesize(每页显示多少行)。

3 个答案:

答案 0 :(得分:10)

如果您的数据是单个DataTable,那么您可以使用AsEnumerable()扩展方法。这将把数据作为IEnumerable集合返回。然后,您可以使用LINQ扩展方法.Skip()和.Take()。

IEnumerable<DataRow> MyDataPage = MyDataTable.AsEnumerable().Skip(100).Take(10);

上面的代码将为您提供MyDataTable的101到110行,它将是一个IEnumerable集合,您可以像数据表一样绑定它。如果你需要它是一个实际的DataTable,你可以调用CopyToDataTable():

DataTable NewDT = MyDataPage.CopyToDataTable();

有更详细的信息here

答案 1 :(得分:0)

您可以使用GridView显示数据并使用其分页功能: http://msdn.microsoft.com/en-us/library/5aw1xfh3%28v=VS.80%29.aspx

答案 2 :(得分:0)

Linq是最好的选择。

ROW_NUMBER()也是SQL Server 2005中的一个选项