zoukankan      html  css  js  c++  java
  • 分页技术之PageDataSource类

    之前给大家介绍了分页技术之Gridview控件,今天给大家介绍另外一种分页技术,采用PageDataSource类 + Repeater控件来实现。

    前台只需要拖出一个Repeater控件来绑定要显示数据即可。

    后台代码的实现具体步骤如下:

    第一步:连接数据库获取要显示的内容

            //连接数据库及将数据封装到一个数据集中
         Db db = new Db(); DataSet ds = db.GetDataSet ( sql ); //将DataSet绑定到PageDataSource PagedDataSource ps = new PagedDataSource(); ps.DataSource = ds.Tables[0].DefaultView;

    第二步:设置PageDataSource相关属性

            

            //设置属性为允许分页
            ps.AllowPaging = true;
    
            //获取当前页面数
    
            int CurPage;
    
            if (Request.QueryString["Page"] != null)    //当前请求页面
    
                CurPage = Convert.ToInt32(Request.QueryString["Page"]);
    
            else
    
                CurPage = 1;
    
            //每个页面显示的条数
    
            ps.PageSize = 20;
    
            //求数据的总数
    
            allmsg.Text = ps.DataSourceCount.ToString();
    
            ps.CurrentPageIndex = CurPage - 1;
    
            //求总页数
    
            allpages.Text = ps.PageCount.ToString();
    
            nowpage.Text = CurPage.ToString();    

    第三步:将数据源绑定到Repeater控件

            //将数据源与控件绑定
    
            Repeater1.DataSource = ps;
    
            Repeater1.DataBind(); 

    第四步:设置‘上一页’、‘下一页’、‘首页’、‘尾页’按钮的链接URL

     if (!ps.IsFirstPage)
    
            {
    
              //首页页
                firstpage.NavigateUrl = Request.CurrentExecutionFilePath +"?Page=1&id=" + articleid + "";
    
              //上一页
                divpage.NavigateUrl = Request.CurrentExecutionFilePath +"?Page="+Convert.ToString(CurPage - 1)+"" + "&id="+articleid+"";
    
            }
    
            if (!ps.IsLastPage)
    
            {
    
              //下一页
                nextpage.NavigateUrl=Request.CurrentExecutionFilePath + "?Page="+ Convert.ToString(CurPage + 1)+"" + "&id="+articleid+"";
    
              // 尾页
                endpage.NavigateUrl=Request.CurrentExecutionFilePath+"?Page="+Convert.ToString(ps.PageCount) + "" + "&id=" + articleid + "";
    
            }
  • 相关阅读:
    水壶-[Kruskal重构树] [解题报告]
    线性求逆元推导
    边界线与两端对齐
    左边竖条的实现方法
    $.ajax()知识
    area热点区域
    AJAX与XMLHttpRequest
    js运行机制
    优先级
    各种图形
  • 原文地址:https://www.cnblogs.com/lhm814/p/3654824.html
Copyright © 2011-2022 走看看