zoukankan      html  css  js  c++  java
  • AspNetPager分页实际应用

    ---恢复内容开始---

    首先,这个分页是快速开发的一种,弊端就是一次查询数据库全部,然后分页显示.

    注意:

    1,最好绑定的数据是一个list格式!

    1首先打开 

    http://www.webdiyer.com 下载AspNetPager

    然后引用这个dll文件

    然后在aspx前台最上面引用该dll

    <%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %>

    2 在展示数据用的一些控件下面复制上

     <webdiyer:AspNetPager ID="AspNetPager1"   runat="server" FirstPageText="首页" LastPageText="最后一页"
            NextPageText="下一页" PrevPageText="上一页" OnPageChanged="AspNetPager1_PageChanged"
            Font-Size="X-Large" ForeColor="#336699" HorizontalAlign="Center">
        </webdiyer:AspNetPager>

    3 在后台要写上这样一个方法

     protected void AspNetPager1_PageChanged(object sender, EventArgs e)
        {
            BindDataTable();
        }

     BindDataTable();这个方法就是绑定数据的方法
    private void BindDataTable()
        {
            StringBuilder sb = new StringBuilder();

        //GetAllList 是查询数据,返回的是DataSet格式的, DataSet ds = bll.GetAllList(sb.ToString());
         //计算总共有多少条 AspNetPager1.RecordCount
    = ds.Tables[0].Rows.Count;
        //每页显示多少条 AspNetPager1.PageSize
    = 10; PagedDataSource pds = new PagedDataSource(); pds.DataSource = ds.Tables[0].Rows.ToString(); pds.AllowCustomPaging = true; pds.AllowPaging = true; pds.CurrentPageIndex = AspNetPager1.CurrentPageIndex - 1; pds.PageSize = AspNetPager1.PageSize; pagesize = AspNetPager1.PageSize; int i = (pds.CurrentPageIndex) * pds.PageSize; pageindex = pds.CurrentPageIndex;
        //这是创建一个实体类,来把DataSet格式转换list格式 List
    <ChaxunClass> list = new List<ChaxunClass>();
        //遍历数据,已list格式输出
    foreach (DataRow row in ds.Tables[0].Rows) {
           ChaxunClass cl
    = new ChaxunClass(); cl.num = row["第三方卡"].ToString(); list.Add(cl); } this.Repeater1.DataSource = list.Skip((pds.CurrentPageIndex) * pds.PageSize).Take(pds.PageSize); ; this.Repeater1.DataBind(); }
     以上是最初的 ,后来研究下  还是在这样方便,一个分页干吗要用2个控件
    后台改成,
      DataSet ds = bll.GetAllList(sb.ToString());
            int PageCount = AspNetPager1.RecordCount = ds.Tables[0].Rows.Count;
            pagesize = AspNetPager1.PageSize = 10;
            pageindex = AspNetPager1.CurrentPageIndex;
            List<ChaxunClass> list = new List<ChaxunClass>();
            foreach (DataRow row in ds.Tables[0].Rows)
            {
                ChaxunClass cl = new ChaxunClass();
                cl.num = row["第三方卡"].ToString();
                list.Add(cl);
            }
            this.Repeater1.DataSource = list.Skip((pagesize) * (pageindex - 1)).Take(pagesize);
            this.Repeater1.DataBind();

    前台索引自增排序这样写

     <%# (pageindex - 1) *pagesize +Container.ItemIndex + 1%> 

     倒序排序这样写

        <%# (PageCount - (pageindex - 1) * pagesize)-Container.ItemIndex%>
     
  • 相关阅读:
    用例图解析
    A B C D类网络地址
    B-树特征
    常用的中间代码
    UML图
    关于文件索引的一道习题
    数据流图的一些原则
    系统总线
    各种排序方法的时间复杂度、空间复杂度和稳定性统计表
    模拟银行自助终端系统
  • 原文地址:https://www.cnblogs.com/crazyair/p/3722756.html
Copyright © 2011-2022 走看看