有时候也需要偷懒一下 –GridView 自带分页实现(超级简单)

<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;
        }
        
    }
posted @ 2010-12-13 11:26  西安-DB  阅读(276)  评论(0编辑  收藏  举报