FineUI 官方论坛

标题: 请教关于 Grid 支持方向键的问题 [打印本页]

作者: wys512    时间: 2014-5-28 11:23
标题: 请教关于 Grid 支持方向键的问题
请教大家,我想让Grid支持方向键,采用了如下代码,却要报错,各位有没有实现过的,请不吝赐教,谢谢!

//让grid支持方向键盘
Ext.override(Ext.grid.CellSelectionModel, {
    onEditorKey: function (field, e) {
        var smodel = this;
        var k = e.getKey(), newCell, g = smodel.grid, ed = g.activeEditor;
        switch (k) {
            case e.TAB:
                e.stopEvent();
                ed.completeEdit();
                if (e.shiftKey) {
                    newCell = g.walkCells(ed.row, ed.col - 1, -1, smodel.acceptsNav, smodel);
                } else {
                    newCell = g.walkCells(ed.row, ed.col + 1, 1, smodel.acceptsNav, smodel);
                }
                if (ed.col == 1) {
                    if (e.shiftKey) {
                        newCell = g.walkCells(ed.row, ed.col + 1, -1, smodel.acceptsNav, smodel);
                    } else {
                        newCell = g.walkCells(ed.row, ed.col + 1, 1, smodel.acceptsNav, smodel);
                    }
                }
                break;
            case e.UP:
                e.stopEvent();
                ed.completeEdit();
                newCell = g.walkCells(ed.row - 1, ed.col, -1, smodel.acceptsNav, smodel);
                break;
            case e.DOWN:
                e.stopEvent();
                ed.completeEdit();
                newCell = g.walkCells(ed.row + 1, ed.col, 1, smodel.acceptsNav, smodel);
                break;
            case e.LEFT:
                e.stopEvent();
                ed.completeEdit();
                newCell = g.walkCells(ed.row, ed.col - 1, -1, smodel.acceptsNav, smodel);
                break;
            case e.RIGHT:
                e.stopEvent();
                ed.completeEdit();
                newCell = g.walkCells(ed.row, ed.col + 1, 1, smodel.acceptsNav, smodel);
                break;
        }
        if (newCell) {
            g.startEditing(newCell[0], newCell[1]);
        }
    }
});

作者: wys512    时间: 2014-5-28 15:02
指定控件的NextFocusControl 属性也报同样的错误
作者: sanshi    时间: 2014-5-28 16:33
表格的单元格编辑是由extjs控制的,扩展起来不容易。

不过在模板列实现的编辑,可以方便的通过JS添加控制:http://fineui.com/demo/#/demo/grid/grid_edit_enterkey_v.aspx
http://fineui.com/demo/#/demo/grid/grid_edit_enterkey_h.aspx




欢迎光临 FineUI 官方论坛 (https://fineui.com/BBS/) Powered by Discuz! X3.4