GridView 分页实现方法

GridView分页功能其实非常简单。这是一个简单的分页实现,给需要的做个参考。基于一下的思路很容易就可以做强大的分页出来
 
页面代码:
  1. <asp:GridView ID="gv_unionlist" runat="server" AutoGenerateColumns="False" Width="100%" OnRowDataBound="gv_unionlist_RowDataBound" OnRowCommand="gv_unionlist_RowCommand" AllowPaging="True" OnRowCreated="gv_unionlist_RowCreated" PageSize="2">
  2.                     <Columns>
  3.                         <asp:BoundField DataField="ID" HeaderText="ID" />
  4.                         <asp:BoundField DataField="unionid" HeaderText="会员号" />
  5.                         <asp:BoundField DataField="username" HeaderText="用户名" />
  6.                         <asp:BoundField DataField="company" HeaderText="公司名" />
  7.                         <asp:BoundField DataField="dutyman" HeaderText="业务负责人" />
  8.                         <asp:BoundField DataField="dutymanmobile" HeaderText="业务负责人手机" />
  9.                         <asp:TemplateField HeaderText="全选">
  10.                             <ItemTemplate>
  11.                                 <asp:CheckBox ID="CheckBox1" runat="server" />
  12.                             </ItemTemplate>
  13.                         </asp:TemplateField>
  14.                         <asp:TemplateField HeaderText="订单情况">
  15.                             <ItemTemplate>
  16.                                 <asp:LinkButton ID="lb_Orders" runat="server">查看订单</asp:LinkButton>
  17.                             </ItemTemplate>
  18.                         </asp:TemplateField>
  19.                         <asp:TemplateField HeaderText="房态修改">
  20.                             <ItemTemplate>
  21.                                  <asp:Button ID="tb_RoomStatus" runat="server" CommandName="RoomStatus" Text='<%#bind("RoomStatusFlag") %>' OnClientClick="return confirm('修改房态修改状态?');" />
  22.                             </ItemTemplate>
  23.                         </asp:TemplateField>
  24.                         <asp:TemplateField HeaderText="自动满房">
  25.                             <ItemTemplate>
  26.                                  <asp:Button ID="tb_AutoFullRoom" runat="server" CommandName="AutoFullRoom"  Text='<%#bind("AutoFullRoomFlag") %>' />
  27.                             </ItemTemplate>
  28.                         </asp:TemplateField>
  29.                         <asp:TemplateField HeaderText="操作">
  30.                             <ItemTemplate>
  31.                                 <asp:LinkButton ID="lb_Del" runat="server" OnClientClick="return confirm('删除此记录?')" CommandName="del">删除</asp:LinkButton>
  32.                             </ItemTemplate>
  33.                         </asp:TemplateField>
  34.                         <asp:HyperLinkField DataNavigateUrlFields="id" DataNavigateUrlFormatString="~/Admin/Union.aspx?action=update&id={0}"
  35.                             HeaderText="确认与修改" Text="确认与修改" />
  36.                         <asp:BoundField DataField="registerdt" HeaderText="注册时间" />
  37.                         <asp:BoundField DataField="lastlogindt" HeaderText="最后登陆时间" />
  38.                         <asp:BoundField DataField="logincount" HeaderText="登陆次数" />
  39.                     </Columns>
  40.                     <PagerSettings Position="TopAndBottom" />
  41.                     <PagerTemplate>
  42.                         <table style="width: 100%">
  43.                             <tr>
  44.                                 <td align="right">
  45.                                     当前页:<asp:DropDownList ID="dl_pager" runat="server" AutoPostBack="True" OnSelectedIndexChanged="dl_pager_SelectedIndexChanged">
  46.                                     </asp:DropDownList>/每页:<asp:Label ID="lb_pagesize" runat="server"></asp:Label>
  47.                                     条</td>
  48.                             </tr>
  49.                         </table>
  50.                     </PagerTemplate>
  51.                 </asp:GridView>

 

CS代码:

  1.  protected void gv_unionlist_RowDataBound(object sender, GridViewRowEventArgs e)
  2.     {
  3.         if (e.Row.RowType == DataControlRowType.Pager)
  4.         {
  5.             ((DropDownList)e.Row.FindControl("dl_pager")).Items.Clear();
  6.             ((Label)e.Row.FindControl("lb_pagesize")).Text = gv_unionlist.PageSize.ToString();
  7.             for (int i = 0; i < this.gv_unionlist.PageCount; i++)
  8.             {
  9.                 ListItem item = new ListItem(Convert.ToString(i + 1), i.ToString());
  10.                 if (item.Value == this.gv_unionlist.PageIndex.ToString())
  11.                     item.Selected = true;
  12.                 ((DropDownList)e.Row.FindControl("dl_pager")).Items.Add(item);
  13.             }
  14.         }
  15. }
  16. protected void dl_pager_SelectedIndexChanged(object sender, EventArgs e)
  17.     {
  18.         if (this.gv_unionlist.PageIndex != Convert.ToInt32(((DropDownList)gv_unionlist.TopPagerRow.FindControl("dl_pager")).SelectedValue))
  19.             this.gv_unionlist.PageIndex = Convert.ToInt32(((DropDownList)gv_unionlist.TopPagerRow.FindControl("dl_pager")).SelectedValue);
  20.         else if (this.gv_unionlist.PageIndex != Convert.ToInt32(((DropDownList)gv_unionlist.BottomPagerRow.FindControl("dl_pager")).SelectedValue))
  21.             this.gv_unionlist.PageIndex = Convert.ToInt32(((DropDownList)gv_unionlist.BottomPagerRow.FindControl("dl_pager")).SelectedValue);
  22.         this.searchUnion();
  23.     }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值