有时候我们从数据库获取的数据量太大,而我们不需要一次性显示那么多的时候,我们就要对数据进行分页处理了,让每页显示不同的数据。
代码如下 | 复制代码 |
publicDataTable GetPagedTable(DataTable dt,intPageIndex,intPageSize)//PageIndex表示第几页,PageSize表示每页的记录数 { if(PageIndex == 0) returndt;//0页代表每页数据,直接返回
DataTable newdt = dt.Copy(); newdt.Clear();//copy dt的框架
introwbegin = (PageIndex - 1) * PageSize; introwend = PageIndex * PageSize;
if(rowbegin >= dt.Rows.Count) returnnewdt;//源数据记录数小于等于要显示的记录,直接返回dt
if(rowend > dt.Rows.Count) rowend = dt.Rows.Count; for(inti = rowbegin; i <= rowend - 1; i++) { DataRow newdr = newdt.NewRow(); DataRow dr = dt.Rows[i]; foreach(DataColumn columnindt.Columns) { newdr[column.ColumnName] = dr[column.ColumnName]; } newdt.Rows.Add(newdr); } returnnewdt; } |