有时候我们从数据库获取的数据量太大,而我们不需要一次性显示那么多的时候,我们就要对数据进行分页处理了,让每页显示不同的数据。
1 public DataTable GetPagedTable(DataTable dt, int PageIndex, int PageSize)//PageIndex表示第几页,PageSize表示每页的记录数 2 { 3 if (PageIndex == 0) 4 return dt;//0页代表每页数据,直接返回 5 6 DataTable newdt = dt.Copy(); 7 newdt.Clear();//copy dt的框架 8 9 int rowbegin = (PageIndex - 1) * PageSize; 10 int rowend = PageIndex * PageSize; 11 12 if (rowbegin >= dt.Rows.Count) 13 return newdt;//源数据记录数小于等于要显示的记录,直接返回dt 14 15 if (rowend > dt.Rows.Count) 16 rowend = dt.Rows.Count; 17 for (int i = rowbegin; i <= rowend - 1; i++) 18 { 19 DataRow newdr = newdt.NewRow(); 20 DataRow dr = dt.Rows[i]; 21 foreach (DataColumn column in dt.Columns) 22 { 23 newdr[column.ColumnName] = dr[column.ColumnName]; 24 } 25 newdt.Rows.Add(newdr); 26 } 27 return newdt; 28 }
作者:Adolf Ye 出处:http://www.cnblogs.com/dt520/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 |