Sto usando questo Gridview
http://gridviewscroll.aspcity.idv.tw/Demo/Style.aspx#StyleCustom2
Qualcuno può dirmi come posso navigare in GridView usando Arrow Keys in quel gridview
Grazie :)
risposte:
0 per risposta № 1Modifica il webform con GridView che vuoi estendere con la funzionalità. Lì, aggiungi due pulsanti. ButtonUp e ButtonDown.
Aggiungi i seguenti eventi di clic per i pulsanti. Suppongo che il tuo GridView si chiami 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; }
Se gestisci la tua pagina ora, sei in grado di farlonavigare attraverso GridView con i pulsanti sulla pagina. Ora, legheremo i clic del pulsante alla nostra tastiera tramite javascript. Aggiungi il seguente codice all'evento 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);
Ora dovresti essere in grado di navigare con i tasti su e giù della tastiera.
Per rendere invisibili i pulsanti della pagina, crea il seguente CssClass per loro:
.Invisible { display:none; }
0 per risposta № 2
<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>