C#程序层面的内存分页方法

来源:互联网 发布:欧睿宇邦 知乎 编辑:程序博客网 时间:2024/05/17 02:31
        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;        }



1 0