如何将分页应用于数据集?我有一个方法,我从数据集动态构建一个表。查询从中获取数据集的数据库不是问题,但是从数据集迭代数据行的速度很慢。
要在加载包含大量数据行的页面时提高性能,我想应用分页功能。
一个很好的功能是用户能够设置pagesize(每页显示多少行)。
答案 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中的一个选项