<PagerTemplate>
<table style="width:100%">
<tr>
<td>
第<asp:Label ID="lbCurrentPage" runat="server" Text="<%#GVSample.PageIndex+1 %>"></asp:Label>
页/ 共<asp:Label ID="lbTotalPage" runat="server" Text="<%#GVSample.PageCount %>"></asp:Label>
页
<asp:LinkButton ID="lbtnFirst" runat="server" CausesValidation="false" CommandArgument="First"
CommandName="Page">首页</asp:LinkButton>
<asp:LinkButton ID="lbtnPrev" runat="server" CausesValidation="false" CommandArgument="Prev"
CommandName="Page">上一页</asp:LinkButton>
<asp:LinkButton ID="lbtnNext" runat="server" CausesValidation="false" CommandArgument="Next"
CommandName="Page">下一页</asp:LinkButton>
<asp:LinkButton ID="lbtnLast" runat="server" CausesValidation="false" CommandArgument="Last"
CommandName="Page">尾页</asp:LinkButton>
<label>
跳转到</label>
<asp:DropDownList ID="ddlPages" runat="server" AutoPostBack="true" Width="40px" OnSelectedIndexChanged="ddlPages_SelectedIndexChanged">
</asp:DropDownList>
</td>
</tr>
</table>
</PagerTemplate>
protected void GVSample_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Pager)
{
GridView gv = sender as GridView;
if (((Label)e.Row.FindControl("lbCurrentPage")).Text == "1")
{
((LinkButton)e.Row.FindControl("lbtnFirst")).Visible = false;
((LinkButton)e.Row.FindControl("lbtnPrev")).Visible = false;
}
if (((Label)e.Row.FindControl("lbCurrentPage")).Text == ((Label)e.Row.FindControl("lbTotalPage")).Text)
{
((LinkButton)e.Row.FindControl("lbtnNext")).Visible = false;
((LinkButton)e.Row.FindControl("lbtnLast")).Visible = false;
}
DropDownList ddl = ((DropDownList)e.Row.FindControl("ddlPages"));
for (int i = 1; i <= gv.PageCount; i++)
{
ListItem item = new ListItem();
item.Value = i.ToString();
item.Text = i.ToString();
ddl.Items.Add(item);
}
ddl.Items.FindByValue((gv.PageIndex + 1).ToString()).Selected = true;
}
}