GridView自带分页 1总页数 首页 下一页 上一页 尾页 X 页 go 实现方法 .

时间:2022-02-15 14:30:13

在前台GRIDVIEW中添加如下代码

<PagerTemplate>

<table>

  <tr>

    <td style="text-align: right">

    第<asp:Label ID="lblPageIndex" runat="server" Text="<%#((GridView)Container.Parent.Parent).PageIndex + 1 %>"></asp:Label>页

    共<asp:Label ID="lblPageCount" runat="server" Text="<%# ((GridView)Container.Parent.Parent).PageCount %>"></asp:Label>页

    <asp:LinkButton ID="btnFirst" runat="server" CausesValidation="False" CommandArgument="First" CommandName="Page" Text="首页"> </asp:LinkButton>

    <asp:LinkButton ID="btnPrev" runat="server" CausesValidation="False" CommandArgument="Prev" CommandName="Page" Text="上一页"></asp:LinkButton>

    <asp:LinkButton ID="btnNext" runat="server" CausesValidation="False" CommandArgument="Next" CommandName="Page" Text="下一页"></asp:LinkButton>

    <asp:LinkButton ID="btnLast" runat="server" CausesValidation="False" CommandArgument="Last" CommandName="Page" Text="尾页"></asp:LinkButton>

    <asp:TextBox ID="txtNewPageIndex" runat="server" Text="<%# ((GridView)Container.Parent.Parent).PageIndex + 1%>" Width="20px"></asp:TextBox>

    <asp:LinkButton ID="btnGo" runat="server" CausesValidation="False" CommandArgument="-1" CommandName="Page" Text="GO"></asp:LinkButton>   

    </td>

  </tr>

</table>

</PagerTemplate>

后台代码添加如下代码

protected void PageIndexChanging(object sender, GridViewPageEventArgs e)

{

  GridView gvw = (GridView)sender;

  if (e.NewPageIndex < 0)

  {

    TextBox pageNum = (TextBox)gvw.BottomPagerRow.FindControl("txtNewPageIndex"); int Pa = int.Parse(pageNum.Text);

    if (Pa <= 0) { gvw.PageIndex = 0; }

    else { gvw.PageIndex = Pa - 1; }

  }

  else { gvw.PageIndex = e.NewPageIndex; }

  GetBind();//你绑定数据的方法

}