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();
        }
    }

posted on 2007-05-30 21:24  pcuseman blog  阅读(319)  评论(1)    收藏  举报

导航