GridView分页功能

1.控加几个分页要用的
          <tr>
                     <td align="center" style="height: 25px">
                         <asp:LinkButton ID="btnFirst" CommandArgument="first" OnClick="PagerButtonClick"
                             runat="server">首 页</asp:LinkButton>
                         <asp:LinkButton ID="btnPrev" CommandArgument="prev" OnClick="PagerButtonClick" runat="server">上一页   </asp:LinkButton>
                         <asp:LinkButton ID="btnNext" CommandArgument="next" OnClick="PagerButtonClick" runat="server">下一页</asp:LinkButton>
                         <asp:LinkButton ID="btnLast" CommandArgument="last" OnClick="PagerButtonClick" runat="server">尾 页</asp:LinkButton>
                         <asp:Label ID="LblCurrentIndex" runat="server"></asp:Label>
                         <asp:Label ID="LblPageCount" runat="server"></asp:Label>
                         <asp:Label ID="LblRecordCount" runat="server"></asp:Label>
                    </td>
                 </tr>

2.绑定数据库源
this.NewsView.DataSource = ds.Tables[0];
             this.NewsView.DataBind();

             //分页
             LblCurrentIndex.Text = "第 " + (NewsView.PageIndex + 1).ToString() + " 页";
             LblPageCount.Text = "共 " + NewsView.PageCount.ToString() + " 页";
             LblRecordCount.Text = "总共 "+ds.Tables[0].Rows.Count.ToString()+" 条";
             if (ds.Tables[0].Rows.Count == 0)
             {
                 btnFirst.Visible = false;
                 btnPrev.Visible = false;
                 btnNext.Visible = false;
                 btnLast.Visible = false;

                 LblCurrentIndex.Visible = false;
                 LblPageCount.Visible = false;
                 LblRecordCount.Visible = false;
             }
             else if (NewsView.PageCount == 1)
             {
                 btnFirst.Visible = false;
                 btnPrev.Visible = false;
                 btnNext.Visible = false;
                 btnLast.Visible = false;
             }

             // 计算生成分页页码,分别为:"首 页" "上一页" "下一页" "尾 页"
             btnFirst.CommandName = "1";
             btnPrev.CommandName = (NewsView.PageIndex == 0 ? "1" : NewsView.PageIndex.ToString());

             btnNext.CommandName = (NewsView.PageCount == 1 ? NewsView.PageCount.ToString() : (NewsView.PageIndex + 2).ToString());
             btnLast.CommandName = NewsView.PageCount.ToString();
             //
         }
         catch(Exception ex)
         {
             Response.Write("数据库错误,错误原因:"+ex.Message);
             Response.End();
         }

3.添加一个事件
protected void PagerButtonClick(object sender, EventArgs e)
     {
         NewsView.PageIndex = Convert.ToInt32(((LinkButton)sender).CommandName) - 1;
         DataBindintToGridView();
     }

4.PageLoad中
protected void Page_Load(object sender, EventArgs e)
     {
         if (!IsPostBack)
         {
             DataBindintToGridView();
         }
     }

差不多啦,很简单的,会.NET的人都会.也不用我在这乱写废话啦

posted @ 2008-02-21 10:38  looping  阅读(245)  评论(0编辑  收藏  举报