asp.net 使用pagination 数据分页

来源:互联网 发布:linux文件权限为400 编辑:程序博客网 时间:2024/04/29 16:09

asp.net 使用pagination 数据分页,

首先引用pagination.js及样式   贴出代码...新手上路.

<link href="../css/pagination.css" rel="stylesheet" type="text/css" />    <script src="../script/jquery-1.4.1.js" type="text/javascript"></script>    <script src="../script/pagination.js" type="text/javascript"></script>

读取数据前,配置每次读取的记录条数及当前的页面, 设置加载数据的一般处理程序   代码如下:

<script type="text/javascript">     var pageIndex = 0;     //页面索引初始值            var pageSize = 5;     //每页显示条数初始化,修改显示条数,修改这里即可            $(function () {              InitTable(0);    //Load事件,初始化表格数据,页面索引为0(第一页)                //分页,PageCount是总条目数,这是必选参数,其它参数都是可选                $("#Pagination").pagination(12, {                    callback: PageCallback,  //PageCallback() 为翻页调用次函数。                       prev_text: "« 上一页",                    next_text: "下一页 »",                    items_per_page:pageSize,                    num_edge_entries: 2,       //两侧首尾分页条目数                       num_display_entries: 6,    //连续分页主体部分分页条目数                       current_page: pageIndex,   //当前页索引                });                //翻页调用                   function PageCallback(index, jq) {                                 InitTable(index);                  }                  //请求数据                   function InitTable(pageIndex) {                 var url="../Hand/Handler1.ashx";                               $.ajax({                           type: "POST",                         url: url,      //提交到一般处理程序请求数据                           data: "pageIndex=" + (pageIndex+1) + "&pageSize=" + pageSize,          //提交两个参数:pageIndex(页面索引),pageSize(显示条数)                   success: function(data) {                            $("#Result tr:gt(0)").remove();        //移除Id为Result的表格里的行,从第二行开始(这里根据页面布局不同页变)                               $("#Result").append(data);             //将返回的数据追加到表格                           }                      });                 }            });     </script>



页面代码如下:

<body>        <table id="Result" cellspacing="0" cellpadding="0" class="table">                            <tr>                      <th>ID</th>                    <th>Name</th>                    <th>Sex</th>                    <th>Phone</th>                    <th>Address</th>                </tr>                                                                                                       </table>          <!--固定vid-->      <div id="Pagination" class="pagination" style="bottom:620px;"><!-- 这里显示分页 --></div></body>


这里没给数据库 ,一般处理程序代码如下:

public void ProcessRequest(HttpContext context)        {            context.Response.ContentType = "text/plain";            //具体的页面数             int pageIndex;            int pageSize;            //获取当前的页面及记录条数            int.TryParse(context.Request["pageIndex"], out pageIndex);            int.TryParse(context.Request["pageSize"], out pageSize);            if (pageIndex == 0)            {                pageIndex = 1;            }            DataTable dt = GetPagedTable(GetDataTable(), pageIndex, pageSize);            StringBuilder sb = new StringBuilder();            if (dt.Rows.Count > 0)            {                foreach (DataRow item in dt.Rows)                {                    sb.Append("<tr><td>" + item["ID"] + "</td><td>" + item["Name"] + "</td><td>" + item["Sex"] + "</td><td>" +                        item["Phone"] + "</td><td>" + item["Address"] + "</td></tr>");                }            }            context.Response.Write(sb.ToString());        }/// <summary>        /// DataTable分页        /// </summary>        /// <param name="dt">DataTable</param>        /// <param name="PageIndex">页索引,注意:从1开始</param>        /// <param name="PageSize">每页大小</param>        /// <returns>分好页的DataTable数据</returns        public static DataTable GetPagedTable(DataTable dt, int PageIndex, int PageSize)        {            if (PageIndex == 0) { return dt; }            DataTable newdt = dt.Copy();            newdt.Clear();            int rowbegin = (PageIndex - 1) * PageSize;            int rowend = PageIndex * PageSize;            if (rowbegin >= dt.Rows.Count)            {                return newdt;            }            if (rowend > dt.Rows.Count)            {                rowend = dt.Rows.Count;            }            for (int i = rowbegin; i <= rowend - 1; i++)            {                DataRow newdr = newdt.NewRow();                DataRow dr = dt.Rows[i];                foreach (DataColumn column in dt.Columns)                {                    newdr[column.ColumnName] = dr[column.ColumnName];                }                newdt.Rows.Add(newdr);            }            return newdt;        }        /// <summary>        /// 获取当前页的数据        /// </summary>        /// <param name="PageIndex">索引</param>        /// <param name="PageSize">页面索引</param>        /// <returns></returns>        public  List<User> GetPagedList(int PageIndex, int PageSize)         {            List<User> list = GetList();            IQueryable<User> query=list.AsQueryable();            return query.Take(PageIndex * PageSize).ToList();                   }/// <summary>        /// 手动创建Table        /// </summary>        /// <returns></returns>        public DataTable GetDataTable()        {            string[] str = { "ID", "Name", "Sex", "Phone", "Address" };            DataTable dt = new DataTable();            Array.ForEach(str, c => dt.Columns.Add(c));            List<User> uList = GetList();            foreach (var item in uList)            {                dt.Rows.Add(item.ID, item.Name, item.Sex, item.Phone, item.Address);            }            return dt;        }/// <summary>        /// 获取数据集        /// </summary>        /// <returns></returns>        public List<User> GetList()         {          List<User> uList = new List<User> {                new User{ ID="1001", Name=Guid.NewGuid().ToString(), Sex="男", Phone="15810000000", Address="湖北省武汉市"},                new User{ ID="1002", Name=Guid.NewGuid().ToString(), Sex="女", Phone="15810000000", Address="湖北省武汉市"},                new User{ ID="1003", Name=Guid.NewGuid().ToString(), Sex="男", Phone="15810000000", Address="湖北省武汉市"},                new User{ ID="1004", Name=Guid.NewGuid().ToString(), Sex="男", Phone="15810000000", Address="湖北省武汉市"},                new User{ ID="1005", Name=Guid.NewGuid().ToString(), Sex="女", Phone="15810000000", Address="湖北省武汉市"},                new User{ ID="1006", Name=Guid.NewGuid().ToString(), Sex="女", Phone="15810000000", Address="湖北省武汉市"},                new User{ ID="1007", Name=Guid.NewGuid().ToString(), Sex="女", Phone="15810000000", Address="湖北省武汉市"},                new User{ ID="1008", Name=Guid.NewGuid().ToString(), Sex="女", Phone="15810000000", Address="湖北省武汉市"},                new User{ ID="1009", Name=Guid.NewGuid().ToString(), Sex="女", Phone="15810000000", Address="湖北省武汉市"},                new User{ ID="10010", Name=Guid.NewGuid().ToString(), Sex="女", Phone="15810000000", Address="湖北省武汉市"},                new User{ ID="10011", Name=Guid.NewGuid().ToString(), Sex="女", Phone="15810000000", Address="湖北省武汉市"},                new User{ ID="10012", Name=Guid.NewGuid().ToString(), Sex="女", Phone="15810000000", Address="湖北省武汉市"},            };            return uList;        }


	
				
		
原创粉丝点击