[英]How to navigate (up or down) in ASP.NET gridview using arrow keys?
[英]Navigate using Arrow Keys
我正在使用此Gridview
http://gridviewscroll.aspcity.idv.tw/Demo/Style.aspx#StyleCustom2
有人可以告訴我如何使用箭頭鍵導航到GridView中嗎
謝謝 :)
使用想要擴展功能的GridView編輯Webform。 在那里,添加兩個按鈕。 ButtonUp和ButtonDown。
為按鈕添加以下單擊事件。 我假設您的GridView稱為GridView1:
protected void ButtonUp_Click(object sender, EventArgs e) { int i = GridView1.SelectedIndex; if(i>0) GridView1.SelectedIndex = GridView1.SelectedIndex - 1; } protected void ButtonDown_Click(object sender, EventArgs e) { int i = GridView1.SelectedIndex; if (i < GridView1.Rows.Count - 1) GridView1.SelectedIndex = GridView1.SelectedIndex + 1; }
如果現在運行頁面,則可以使用頁面上的按鈕瀏覽GridView。 現在,我們將通過javascript將按鈕點擊綁定到我們的鍵盤。 將以下代碼添加到Page_Load事件:
ClientScript.RegisterClientScriptBlock(typeof(string), "keyScript", @"function move(e) { var key = 0; if(window.event) key = event.keyCode; else key = e.keyCode; if(key == 38) document.getElementById('ButtonUp').click(); if(key == 40) document.getElementById('ButtonDown').click(); } document.onkeydown=move; ", true);
現在,您應該可以使用鍵盤的上下鍵進行導航了。
要使頁面按鈕不可見,請為它們創建以下CssClass:
.Invisible { display:none; }
<script type="text/javascript">
$(document).keydown(function (e) {
var keyCode = e.keyCode || e.which;
var arrow = { left: 37, up: 38, right: 39, down: 40 };
switch (keyCode) {
case arrow.left:
break;
case arrow.up:
document.getElementById(('<%= ButtonUp.ClientID %>')).click();
break;
case arrow.right:
break;
case arrow.down:
//alert("down");
document.getElementById(('<%= ButtonDown.ClientID %>')).click();
break;
}
});
</script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.