我该如何将分页应用于数据集?我有一个方法,可以从数据集动态构建表格。从获取数据集的数据库查询不是问题,但遍历数据行速度较慢。
为了提高加载包含大量数据行的页面的性能,我想要应用分页功能。
一个好的功能是允许用户设置每页显示多少行的页面大小。
为了提高加载包含大量数据行的页面的性能,我想要应用分页功能。
一个好的功能是允许用户设置每页显示多少行的页面大小。
如果您的数据是单个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();
更详细的信息在此处可用。
Linq是最佳选择。
在SQL Server 2005中,ROW_NUMBER()也是一个选项。