asp.net gridview分頁:第一頁 下一頁 1 2 3 4 上一頁 最末頁_實用技巧

來源:互聯網
上載者:User

效果圖:

功能簡介:可使用上下鍵選中行,選中後點擊修改,textbox獲得gridview中的代碼的資料。對你有協助的話,請記得要點擊“好文要頂”哦!!!不懂的,請留言。廢話不多說了,貼碼如下:

<head runat="server"> <title>GridView分頁</title> <script type="text/javascript">  var currentRowId = 0;  var styleName = "";  function SelectRow(ev, strGvName) {   var e = window.event || ev;   var keyCode = -1;   if (e.which == null)    keyCode = e.keyCode; // IE    else    if (e.which > 0)    keyCode = e.which; // All others    if (keyCode == 40)    MarkRow(currentRowId + 1, strGvName);   if (keyCode == 38) {    MarkRow(currentRowId - 1, strGvName);   }   document.getElementById("NUM").value = currentRowId;  }  function MarkRow(rowId, strGvName) {   var Grid = document.getElementById(strGvName);   var rowCount = Grid.rows.length;   if (document.getElementById(strGvName + rowId) == null)    return;   if (rowId == rowCount) {    return;   }   if (document.getElementById(strGvName + currentRowId) != null)    document.getElementById(strGvName + currentRowId).style.backgroundColor = styleName;   currentRowId = rowId;   styleName = document.getElementById(strGvName + rowId).style.backgroundColor;   document.getElementById(strGvName + rowId).style.backgroundColor = 'red';   var obj = document.getElementById(strGvName);   obj.rows[rowId].cells[0].focus();   document.getElementById("NUM").value = currentRowId;  } </script> <style type="text/css">  .hidden  {   display: none;  } </style></head>

核心代碼:

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=SERVER\\xxx;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("<script type=\"text/javascript\">alert('請先查詢並選擇一筆資料!')</script>");   return;  }  else  {   intNum = Convert.ToInt16(this.NUM.Text) - 1;   tbValue.Text = this.gvData.Rows[intNum].Cells[1].Text.ToString();  } }}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.