JQuery EasyUI datagrid 键盘上下控制选中行

来源:互联网 发布:软件可靠性工程手册 编辑:程序博客网 时间:2024/05/17 03:14

扩展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;                }            });        });    }});

使用方法:在datagrid实例化之后调用这个方法。

$("#id").datagrid({}).datagrid("keyCtr");