GridView分页(第一页、上一页、下一页、最后页、当前页数/总页数)

本文详细介绍了GridView分页控件的实现原理,包括页脚代码和后台绑定事件的编写,通过实例演示如何实现分页功能。
 前台GridView页脚代码:
<PagerTemplate>
                                                                    
<table width="100%">
                                                                        
<tr>
                                                                            
<td width="75%">
                                                                                
<asp:ImageButton ID="imgBtnFirst" runat="server" CommandArgument="First" CommandName="Page"
                                                                                    ImageUrl
="~/Images/First.gif" ToolTip="第一页" />
                                                                                
<asp:ImageButton ID="imgBtnPrev" runat="server" CommandArgument="Prev" CommandName="Page"
                                                                                    ImageUrl
="~/Images/Previous.gif" ToolTip="上一页" />
                                                                                
<asp:ImageButton ID="imgBtnNext" runat="server" CommandArgument="Next" CommandName="Page"
                                                                                    ImageUrl
="~/Images/Next.gif" ToolTip="下一页" />
                                                                                
<asp:ImageButton ID="imgBtnLast" runat="server" CommandArgument="Last" CommandName="Page"
                                                                                    ImageUrl
="~/Images/Last.gif" ToolTip="最后页" />
                                                                            
</td>
                                                                            
<td align="right" width="25%">
                                                                                页数:
<asp:Label ID="lblCurrentPage" runat="server"></asp:Label>
                                                                            
</td>
                                                                        
</tr>
                                                                    
</table>
                                                                
</PagerTemplate>
后台绑定事件:
    protected void GridView1_DataBound(object sender, EventArgs e)
    
{
        
// 取得显示页数的那一列。
        GridViewRow pagerRow = GridView1.BottomPagerRow;
        
if (pagerRow != null)
        
{
            
// 取得显示目前所在页数的 Label 控件。
            Label pageLabel = (Label)(pagerRow.Cells[0].FindControl("lblCurrentPage"));

            
// 取得 第一页、上一页、下一页、最后页 的按钮。
            ImageButton imgBtnFirst =
              (ImageButton)(pagerRow.Cells[
0].FindControl("imgBtnFirst"));
            ImageButton imgBtnPrev 
=
              (ImageButton)(pagerRow.Cells[
0].FindControl("imgBtnPrev"));
            ImageButton imgBtnNext 
=
              (ImageButton)(pagerRow.Cells[
0].FindControl("imgBtnNext"));
            ImageButton imgBtnLast 
=
              (ImageButton)(pagerRow.Cells[
0].FindControl("imgBtnLast"));

            
// 设定何时应该显示 第一页、上一页、下一页、最后页 的按钮。
            if (GridView1.PageIndex == 0)
            
{
                imgBtnFirst.Style.Add(HtmlTextWriterStyle.Visibility, 
"hidden");
                imgBtnPrev.Style.Add(HtmlTextWriterStyle.Visibility, 
"hidden");
            }

            
else if (GridView1.PageIndex == GridView1.PageCount - 1)
            
{
                imgBtnLast.Style.Add(HtmlTextWriterStyle.Visibility, 
"hidden");
                imgBtnNext.Style.Add(HtmlTextWriterStyle.Visibility, 
"hidden");
            }

            
else if (GridView1.PageCount <= 0)
            
{
                imgBtnFirst.Style.Add(HtmlTextWriterStyle.Visibility, 
"hidden");
                imgBtnPrev.Style.Add(HtmlTextWriterStyle.Visibility, 
"hidden");
                imgBtnNext.Style.Add(HtmlTextWriterStyle.Visibility, 
"hidden");
                imgBtnLast.Style.Add(HtmlTextWriterStyle.Visibility, 
"hidden");
            }


            
if (pageLabel != null)
            
{
                
// 计算目前所在的页数。
                int currentPage = GridView1.PageIndex + 1;

                pageLabel.Text 
= currentPage.ToString() +
                    
" / " + GridView1.PageCount.ToString();
            }

        }

    }

    
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
    
{
        GridView1.PageIndex 
= e.NewPageIndex;
        bind_gv();
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值