效果图:
功能简介:可使用上下键选中行,选中后点击修改,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(); } } }
本文地址:https://www.stayed.cn/item/19522
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我