FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 1609|回复: 2
打印 上一主题 下一主题

请教关于 Grid 支持方向键的问题

[复制链接]
跳转到指定楼层
楼主
发表于 2014-5-28 11:23:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教大家,我想让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]);
        }
    }
});
沙发
 楼主| 发表于 2014-5-28 15:02:58 | 只看该作者
指定控件的NextFocusControl 属性也报同样的错误
板凳
发表于 2014-5-28 16:33:57 | 只看该作者
表格的单元格编辑是由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 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-11-26 11:50 , Processed in 0.044494 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表