1 /// <summary>
2 /// DataTable分页
3 /// </summary>
4 /// <param name="dt">DataTable</param>
5 /// <param name="PageIndex">页索引,注意:从1开始</param>
6 /// <param name="PageSize">每页大小</param>
7 /// <returns>分好页的DataTable数据</returns> 第1页 每页10条
8 public static DataTable GetPagedTable(DataTable dt, int PageIndex, int PageSize) {
9 if (PageIndex == 0) { return dt; }
10 DataTable newdt = dt.Copy();
11 newdt.Clear();
12 int rowbegin = (PageIndex - 1) * PageSize;
13 int rowend = PageIndex * PageSize;
14
15 if (rowbegin >= dt.Rows.Count) { return newdt; }
16
17 if (rowend > dt.Rows.Count) { rowend = dt.Rows.Count; }
18 for (int i = rowbegin; i <= rowend - 1; i++) {
19 DataRow newdr = newdt.NewRow();
20 DataRow dr = dt.Rows[i];
21 foreach (DataColumn column in dt.Columns) {
22 newdr[column.ColumnName] = dr[column.ColumnName];
23 }
24 newdt.Rows.Add(newdr);
25 }
26 return newdt;
27 }
28
29 /// <summary>
30 /// 返回分页的页数
31 /// </summary>
32 /// <param name="count">总条数</param>
33 /// <param name="pageye">每页显示多少条</param>
34 /// <returns>如果 结尾为0:则返回1</returns>
35 public static int PageCount(int count, int pageye) {
36 int page = 0;
37 int sesepage = pageye;
38 if (count % sesepage == 0) { page = count / sesepage; } else { page = (count / sesepage) + 1; }
39 if (page == 0) { page += 1; }
40 return page;
41 }