C#程式層面的記憶體分頁方法
阿新 • • 發佈:2019-02-11
DataTable gl_dt = new DataTable(); int pagesize = 10; //每頁顯示的記錄條數 int pageindex = 0; //頁索引 int recordcount = -1; // 記錄行數 int pagecount = 0; //頁的數量 protected DataTable GetData() { DataTable dt_new = new DataTable(); //得到要分頁資料的結構 dt_new = gl_dt.Clone(); //得到資料的總條數 recordcount = gl_dt.Rows.Count; //得到資料的總頁數 pagecount = Convert.ToInt16(Math.Ceiling(1.0 * recordcount / pagesize).ToString()); //得到分頁資料的第二種方法 //dt_new=gl_dt.Skip(pagesize*pageindex).Take(pagesize); for (int i = pageindex * pagesize; i < (pageindex * pagesize) + pagesize; i++) { //判斷最後一頁如果不足pageindex的情況 if (i >= recordcount) break; //新增資料 dt_new.ImportRow(gl_dt.Rows[i]); } labRecordNumber.Text = string.Format("第{0}頁/共{1}頁,{2}條記錄", pageindex + 1, pagecount, recordcount); return dt_new; }