1. 程式人生 > >JS控制GridView行選擇

JS控制GridView行選擇

color copy cat mar out lan alt trac 沒有

ASP.NET裏的GridView控件使用非常廣泛,雖然其功能強大,但總有一些不盡如人意的地方。
比如在選擇行的時候,它就沒有UltraWebGrid做的友好;UltraWebGrid允許用戶設置是否顯示選擇框,設置允許,則會在最左邊多出一列,表示選擇的行。而GridView則沒有這個功能。但沒有,不代表不能實現,下面我就通過JS來實現行選擇的標識。

後臺代碼:

技術分享圖片protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
技術分享圖片技術分享圖片...{
技術分享圖片 int id = Convert.ToInt32(InstallandMaintanceGrid.DataKeys[e.Row.RowIndex].Value.ToString());
技術分享圖片
e.Row.Attributes.Add("ondblclick", "javascript:dbClick(" + id + ")");
技術分享圖片 e.Row.Attributes.Add("id", _i.ToString());
技術分享圖片 e.Row.Attributes.Add("onKeyDown", "SelectRow();");
技術分享圖片 e.Row.Attributes.Add("onClick", "MarkRow(" + _i.ToString()+","+id + ");");
技術分享圖片 _i++;
技術分享圖片}
技術分享圖片
技術分享圖片

前臺代碼:

技術分享圖片 <script type="text/javascript">
技術分享圖片
技術分享圖片 function dbClick(keys)...{
技術分享圖片 //雙擊,獲取該行ID
技術分享圖片 document.getElementById("ctl00_hd_selectedid").value = keys;
技術分享圖片 }
技術分享圖片 var currentRowId = 0;
技術分享圖片 function SelectRow()//選擇行
技術分享圖片技術分享圖片 ...{
技術分享圖片 if (event.keyCode == 40)
技術分享圖片 MarkRow(currentRowId+1);
技術分享圖片
else if (event.keyCode == 38)
技術分享圖片 MarkRow(currentRowId-1);
技術分享圖片 }
技術分享圖片
技術分享圖片 function MarkRow(rowId,keys)//選中行變色
技術分享圖片技術分享圖片 ...{
技術分享圖片 if (document.getElementById(rowId) == null)
技術分享圖片 return;
技術分享圖片 if (document.getElementById(currentRowId) != null )
技術分享圖片技術分享圖片 ...{
技術分享圖片 document.getElementById(currentRowId).style.backgroundColor =‘#ffffff‘;
技術分享圖片 }
技術分享圖片
技術分享圖片 currentRowId = rowId;
技術分享圖片 document.getElementById(rowId).style.backgroundColor = ‘#ff0000‘;
技術分享圖片 document.getElementById("ctl00_hd_selectedid").value = keys;
技術分享圖片 }
技術分享圖片 </script>

--------------------- 本文來自 zsj830120 的CSDN 博客 ,全文地址請點擊:https://blog.csdn.net/zsj830120/article/details/2408422?utm_source=copy

JS控制GridView行選擇