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;
}
C#程序层面的内存分页方法
本文转载:CSDN博客