easyui datagrid 键盘上下控制选中行

扩展datagrid的一个方法keyCtr

$.extend($.fn.datagrid.methods, {
 keyCtr : function (jq) {
  return jq.each(function () {
   var grid = $(this);
   grid.datagrid('getPanel').panel('panel').attr('tabindex', 1).bind('keydown', function (e) {
    switch (e.keyCode) {
    case 38: // up
     var selected = grid.datagrid('getSelected');
     if (selected) {
      var index = grid.datagrid('getRowIndex', selected);
      grid.datagrid('selectRow', index - 1);
     } else {
      var rows = grid.datagrid('getRows');
      grid.datagrid('selectRow', rows.length - 1);
     }
     break;
    case 40: // down
     var selected = grid.datagrid('getSelected');
     if (selected) {
      var index = grid.datagrid('getRowIndex', selected);
      grid.datagrid('selectRow', index + 1);
     } else {
      grid.datagrid('selectRow', 0);
     }
     break;
    }
   });
  });
 }
});

原文地址:https://www.cnblogs.com/zhangpengnike/p/3635923.html