GridView中使用方向键标记选中行

来源:互联网 发布:测试网络丢包命令 编辑:程序博客网 时间:2024/05/17 07:30
在aspx中定义javascript事件,判断按键是否为上下键;
  1. <script type="text/javascript">
  2. var currentRowId = 0;
  3. function SelectRow()
  4. {
  5.    if (event.keyCode == 40)
  6.        MarkRow(currentRowId+1);
  7.    else if (event.keyCode == 38)
  8.     MarkRow(currentRowId-1);
  9. }
  10. function MarkRow(rowId)
  11. {
  12.    if (document.getElementById(rowId) == null)
  13.    return;
  14.    if (document.getElementById(currentRowId) != null )
  15.        document.getElementById(currentRowId).style.backgroundColor = '#ffffff';
  16.        currentRowId = rowId;
  17.        document.getElementById(rowId).style.backgroundColor = '#ff0000';
  18. }
  19. </script>




然后在gridview的rowDataBound中, 添加处理按键的事件处理函数和使用鼠标点击某行时的选中事件.
  1. protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
  2. {
  3.    if (e.Row.RowType == DataControlRowType.DataRow)
  4.    {
  5.        e.Row.Attributes.Add("id", _i.ToString());
  6.        e.Row.Attributes.Add("onKeyDown""SelectRow();");
  7.        e.Row.Attributes.Add("onClick""MarkRow(" + _i.ToString() + ");");
  8.        _i++;
  9.    }
  10. }

原创粉丝点击