asp.net gridview分页:第一页 下一页 1 2 3 4 上一页 最末页

  using System;

  using System.Collections.Generic;

  using System.Linq;

  using System.Web;

  using System.Web.UI;

  using System.Web.UI.WebControls;

  using System.Data.SqlClient;//請添加以下命名空間

  using System.Data;

  using System.Drawing;

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

  {

  SqlConnection con = new SqlConnection("Server=SERVERxxx;Database=xxxx;User ID=xx;Pwd=xx;");

  private int _i = 0;//定義變量 ,查詢 Grid設定樣式有用到

  protected void Page_Load(object sender, EventArgs e)

  {

  if (!Page.IsPostBack)

  {

  getBind();

  }

  }

  protected void getBind()

  {

  string str = "select * from im01";

  DataSet ds = new DataSet();

  SqlDataAdapter da = new SqlDataAdapter(str, con);

  da.Fill(ds);

  DataTable dt = ds.Tables[0];

  gvData.DataSource = dt;

  gvData.DataBind();

  }

  protected void gvData_PageIndexChanging(object sender, GridViewPageEventArgs e)

  {

  }

  protected void gvData_RowCreated(object sender, GridViewRowEventArgs e)

  {

  if (e.Row.RowType == DataControlRowType.Pager)

  {

  Label label_Index = new Label();

  LinkButton Button_IndexFirst = new LinkButton();

  LinkButton Button_IndexLast = new LinkButton();

  LinkButton Button_IndexNext = new LinkButton();

  LinkButton Button_IndexPrevious = new LinkButton();

  Button_IndexFirst.Text = "第一頁 ";

  Button_IndexFirst.CommandName = "first";

  Button_IndexFirst.ForeColor = Color.Blue;

  Button_IndexFirst.Click += new EventHandler(PageButtonClick);

  Button_IndexNext.Text = " 下一頁 ";

  Button_IndexNext.CommandName = "next";

  Button_IndexNext.ForeColor = Color.Blue;

  Button_IndexNext.Click += new EventHandler(PageButtonClick);

  Button_IndexPrevious.Text = "前一頁 ";

  Button_IndexPrevious.CommandName = "previous";

  Button_IndexPrevious.ForeColor = Color.Blue;

  Button_IndexPrevious.Click += new EventHandler(PageButtonClick);

  Button_IndexLast.Text = "最末頁 ";

  Button_IndexLast.CommandName = "last";

  Button_IndexLast.ForeColor = Color.Blue;

  Button_IndexLast.Click += new EventHandler(PageButtonClick);

  e.Row.Controls[0].Controls[0].Controls[0].Controls[0].Controls.AddAt(0, (Button_IndexFirst));

  e.Row.Controls[0].Controls[0].Controls[0].Controls[0].Controls.AddAt(1, (Button_IndexPrevious));

  int controlTmp = e.Row.Controls[0].Controls[0].Controls[0].Controls.Count - 1;

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

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

  }

  }

  protected void gvData_RowDataBound(object sender, GridViewRowEventArgs e)

  {

  if (e.Row.RowType == DataControlRowType.DataRow)

  {

  //设置悬浮鼠标指针形状为"小手"

  e.Row.Attributes["style"] = "Cursor:hand";

  }

  string strGvName = "gvData";

  e.Row.Attributes.Add("id", strGvName + _i.ToString());

  e.Row.Attributes.Add("onKeyDown", "SelectRow(event,'" + strGvName + "');");

  e.Row.Attributes.Add("onClick", "MarkRow(" + _i.ToString() + ",'" + strGvName + "');");

  e.Row.Attributes.Add("tabindex", "0");

  _i++;

  }

  protected void PageButtonClick(object sender, EventArgs e)

  {

  LinkButton clickedButton = ((LinkButton)sender);

  if (clickedButton.CommandName == "first")

  {

  gvData.PageIndex = 0;

  }

  else if (clickedButton.CommandName == "next")

  {

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

  {

  gvData.PageIndex += 1;

  }

  }

  else if (clickedButton.CommandName == "previous")

  {

  if (gvData.PageIndex >= 1)

  {

  gvData.PageIndex -= 1;

  }

  }

  else if (clickedButton.CommandName == "last")

  {

  gvData.PageIndex = gvData.PageCount - 1;

  }

  getBind();

  }

  //修改

  protected void btnUpd_Click(object sender, EventArgs e)

  {

  int intNum = 0;

  if (this.NUM.Text == "" || this.NUM.Text == "0")

  {

  Response.Write("");

  return;

  }

  else

  {

  intNum = Convert.ToInt16(this.NUM.Text) - 1;

  tbValue.Text = this.gvData.Rows[intNum].Cells[1].Text.ToString();

  }

  }

  }