asp.net 分页显示数据表的数据的代码

  实现代码如下:

  

复制代码 代码如下:

  using System;

  using System.Collections;

  using System.Configuration;

  using System.Data;

  using System.Linq;

  using System.Web;

  using System.Web.Security;

  using System.Web.UI;

  using System.Web.UI.HtmlControls;

  using System.Web.UI.WebControls;

  using System.Web.UI.WebControls.WebParts;

  using System.Xml.Linq;

  using System.Drawing;

  namespace ShowData4

  {

  public partial class _Default : System.Web.UI.Page

  {

  protected void Page_Load(object sender, EventArgs e)

  {

  GridView1.PageSize = 5; /*GridView控件在每页上显示的记录数目*/

  if (GridView1.Rows.Count != 0) /*当记录数只显示一页时加载分页标签*/

  {

  Control table = GridView1.Controls[0];

  int count = table.Controls.Count;

  table.Controls[count - 1].Visible = true;

  }

  }

  protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)

  {

  if (e.Row.RowType == DataControlRowType.Pager) /*显示页导航控件的行*/

  {

  /*创建在网页上显示超链接的按钮*/

  LinkButton Button_IndexFirst = new LinkButton();

  LinkButton Button_IndexLast = new LinkButton();

  LinkButton Button_IndexNext = new LinkButton();

  LinkButton Button_IndexPrevious = new LinkButton();

  /*添加超链接按钮到页导航行*/

  e.Row.Controls[0].Controls.Add(Button_IndexFirst);

  e.Row.Controls[0].Controls.Add(new LiteralControl(("  "))); /*分页按钮之间用2个空格隔开*/

  e.Row.Controls[0].Controls.Add(Button_IndexPrevious);

  e.Row.Controls[0].Controls.Add(new LiteralControl(("  ")));

  e.Row.Controls[0].Controls.Add(Button_IndexNext);

  e.Row.Controls[0].Controls.Add(new LiteralControl(("  ")));

  e.Row.Controls[0].Controls.Add(Button_IndexLast);

  Button_IndexFirst.Text = "第一页";

  Button_IndexFirst.CommandName = "first";

  Button_IndexFirst.Click += new EventHandler(PageButtonClick);

  Button_IndexPrevious.Text = "上一页";

  Button_IndexPrevious.CommandName = "previous";

  Button_IndexPrevious.Click += new EventHandler(PageButtonClick);

  Button_IndexNext.Text = "下一页";

  Button_IndexNext.CommandName = "next";

  Button_IndexNext.Click += new EventHandler(PageButtonClick);

  Button_IndexLast.Text = "最后一页";

  Button_IndexLast.CommandName = "last";

  Button_IndexLast.Click += new EventHandler(PageButtonClick);

  if (GridView1.PageIndex == 0)

  {

  if (GridView1.PageCount > 1) /*记录数所需页数大于一页*/

  {

  Button_IndexFirst.Enabled = false;

  Button_IndexPrevious.Enabled = false;

  }

  else /*记录数只需一页*/

  {

  Button_IndexFirst.Enabled = false;

  Button_IndexPrevious.Enabled = false;

  Button_IndexNext.Enabled = false;

  Button_IndexLast.Enabled = false;

  }

  }

  else if (GridView1.PageIndex == GridView1.PageCount - 1)

  {

  Button_IndexNext.Enabled = false;

  Button_IndexLast.Enabled = false;

  }

  else if (GridView1.PageCount <= 0)

  {

  Response.Write("数据表中没有数据!");

  Button_IndexFirst.Enabled = false;

  Button_IndexPrevious.Enabled = false;

  Button_IndexNext.Enabled = false;

  Button_IndexLast.Enabled = false;

  }

  }

  }

  protected void PageButtonClick(object sender, EventArgs e)

  {

  LinkButton clickedButton = ((LinkButton)sender);

  if (clickedButton.CommandName == "first") /*点击的是“第一页”按钮,页索引为0*/

  {

  GridView1.PageIndex = 0;

  }

  else if (clickedButton.CommandName == "next") /*点击的是“下一页”按钮,页索引加1*/

  {

  if (GridView1.PageIndex < GridView1.PageCount - 1)

  {

  GridView1.PageIndex += 1;

  }

  }

  else if (clickedButton.CommandName == "previous") /*点击的是“上一页”按钮,页索引如果大于等于1则减1*/

  {

  if (GridView1.PageIndex >= 1)

  {

  GridView1.PageIndex -= 1;

  }

  }

  else if (clickedButton.CommandName == "last") /*点击的是“最后一页”按钮*/

  {

  GridView1.PageIndex = GridView1.PageCount - 1;

  }

  }

  }

  }