导航

DataTable 分页

Posted on 2019-06-13 10:59  yiyishuitian  阅读(377)  评论(0编辑  收藏  举报

1 DataTable 转为 Linq 可查询对象(LINQ 查询:SQL Server 数据库、XML 文档、ADO.NET 数据集以及支持 IEnumerable 或泛型 IEnumerable<T> 接口的任何对象集合。)

Datatable dt;
var linqObj = dt.AsEnumerable();
IEnumerable<DataRow> rows = (from r in linqObj select r);

2 使用 Skip Take 进行分页

 //分面查询
 IEnumerable<DataRow> newrows = rows.Skip((pagenumber - 1) * pagesize).Take(pagesize);

3 分页结果集IEnumerable<DataRow> 转为DataTable

//转为DataTable
DataTable data = newrows.CopyToDataTable<DataRow>();

 

其中 AsEnumerable() 和 CopyToDataTable<DataRow>() 为关键函数。