自定义分页/按钮

  使用GridView绑定了数据之后,设置allowpage=true之后,自动套用样式。下面的翻页按钮只有1 2 3 4 5 6等数字用于翻页,

如果想自己定义按钮,可用以下方法。

aspx文件
  1. <asp:DataGrid ID="DG" runat="server" AutoGenerateColumns="False">  //这里用的是datagrid 原理是一样的
  2. <Columns>
  3. <asp:BoundColumn DataField="USERCODE" HeaderText="登录帐户"></asp:BoundColumn>
  4. <asp:BoundColumn DataField="USERNAME" HeaderText="用户姓名"></asp:BoundColumn>
  5. <asp:BoundColumn HeaderText="所属部门" DataField="ORGNAME"></asp:BoundColumn>
  6. <asp:BoundColumn HeaderText="用户角色" DataField="ROLENAME"></asp:BoundColumn>
  7. <asp:BoundColumn HeaderText="使用状态" DataField="ISUSE"></asp:BoundColumn>
  8. <asp:ButtonColumn HeaderText="修改" Text="修改"></asp:ButtonColumn>
  9. <asp:ButtonColumn HeaderText="删除" Text="删除"></asp:ButtonColumn>
  10. </Columns>
  11. </asp:DataGrid>
  12. <asp:label id="l_CurrentPage" runat="server" oreColor="Red"></asp:label>
  13. <asp:label id="l_PageCount" runat="server"></asp:label>页
  14. <asp:LinkButton ID="First" runat="server" CommandArgument="first" OnClick="PagerButton_Click">首 页</asp:LinkButton>
  15. <asp:LinkButton ID="Prev" runat="server" CommandArgument="prev" OnClick="PagerButton_Click">上一页</asp:LinkButton>
  16. <asp:LinkButton ID="Next" runat="server" CommandArgument="next" OnClick="PagerButton_Click">下一页</asp:LinkButton >                      
  17.  <asp:LinkButton ID="Last" runat="server" CommandArgument="last" OnClick="PagerButton_Click">尾 页</asp:LinkButton>

 

aspx.cs文件

  1. private int PageSize;    //每页显示条目数量
  2. private int PageCount;   //总页数
  3. private int CurrentPage;
  4. private int RecordCount;  //总记录数
  5. protected void Page_Load(object sender, EventArgs e)
  6. {
  7.        User user = new User();
            Hashtable ht = new Hashtable();
            DataTable dt = user.QueryUserView(ht);
            RecordCount = dt.Rows.Count;//计算总记录数
       
            PageSize = 8; //初始化每页条目数量
            DG.AllowPaging = true;
            DG.PagerStyle.Visible = false;
            DG.PageSize = PageSize;
            PageCount = (RecordCount % PageSize) > 0 ? (RecordCount / PageSize) + 1 : (RecordCount / PageSize); //计算总页数
            this.l_PageCount.Text = PageCount.ToString();
            if (!this.IsPostBack)
            {
                pageIndx = 1;
                l_CurrentPage.Text = "1";
            }
            InitData();
  8. }
  1.     /// <summary>
  2.     /// 绑定DG
  3.     /// </summary>
  4.     private void InitData()
  5.     {
  6.         User user = new User();
  7.         Hashtable ht = new Hashtable();
  8.         DataTable dt = user.QueryUserView(ht);
  9.         DG.DataSource = dt;
  10.         DG.DataBind();
  11.         DataBindUser();        
  12.     }
  13.     /// <summary>
  14.     /// 按钮的可见属性
  15.     /// </summary>
  16.     private void DataBindUser()
  17.     {
  18.         pageIndx = DG.CurrentPageIndex+1;
  19.         l_CurrentPage.Text =pageIndx.ToString();
  20.         if (pageIndx == 1)
  21.         {
  22.             this.lb_First.Enabled = false;
  23.             this.lb_Prv.Enabled = false;
  24.             this.lb_Next.Enabled = true;
  25.             this.lb_Last.Enabled = true;
  26.         }
  27.         else if (pageIndx == PageCount)
  28.         {
  29.             this.lb_Next.Enabled = false;
  30.             this.lb_Last.Enabled = false;
  31.             this.lb_First.Enabled = true;
  32.             this.lb_Prv.Enabled = true;
  33.         }
  34.         else 
  35.         {
  36.             this.lb_Next.Enabled = true;
  37.             this.lb_Last.Enabled = true;
  38.             this.lb_First.Enabled = true;
  39.             this.lb_Prv.Enabled = true;
  40.         }
  41.     }
  42.     /// <summary>
  43.     /// 翻页按钮的功能
  44.     /// </summary>
  45.     /// <param name="sender"></param>
  46.     /// <param name="e"></param>
  47.     protected void PagerButton_Click(object sender, EventArgs e)
  48.     {
  49.      int pageIndx = Convert.ToInt32(DG.CurrentPageIndex);
  50.      string arg = ((LinkButton)sender).CommandArgument.ToString().ToLower();
  51.         switch (arg)
  52.         {
  53.             case "prev":
  54.             if (pageIndx > 0)
  55.             {
  56.               pageIndx -= 1;
  57.             }
  58.             break;
  59.             case "next":
  60.             if (pageIndx < PageCount - 1)
  61.             {
  62.                pageIndx += 1;
  63.             }
  64.             break;
  65.             case "last":
  66.             pageIndx = PageCount - 1;
  67.             break;
  68.             default:
  69.             pageIndx = 0;
  70.             break;
  71.         }
  72.         DG.CurrentPageIndex = pageIndx;
  73.         InitData();
  74.     }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值