博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
让Extjs EditorGridPanel 编辑时支持方向键
阅读量:4663 次
发布时间:2019-06-09

本文共 2048 字,大约阅读时间需要 6 分钟。

在用 extjs editorgridpanel 进行输入编辑的时候, 默认情况下只支持使用 tab 键可以实现焦点切换, 如果想让editorgridpanel 在编辑时通过方向键来实现焦点跳转切换,只需加上以下代码:

//让grid支持方向键盘 by liongis@163.comExt.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]);       }     }});

注意:这里重写的是:CellSelectionModel ,而不是RowSelectionModel

转载于:https://www.cnblogs.com/liongis/p/3284620.html

你可能感兴趣的文章
八LWIP学习笔记之用户编程接口(NETCONN)
查看>>
Git Day02,工作区,暂存区,回退,删除文件
查看>>
Docker安装MariaDB
查看>>
如何给app客户端进行埋点?
查看>>
结对第二次—文献摘要热词统计及进阶需求
查看>>
JavaWeb---总结(十三)使用Session防止表单重复提交
查看>>
JSP介绍(2)--- 九大隐式对象
查看>>
[置顶] .net技术类面试、笔试题汇总3
查看>>
JAVA操作Hbase基础例子
查看>>
js表达式和语句趣味题讲解与技术分享
查看>>
【VC++技术杂谈006】截取电脑桌面并将其保存为bmp图片
查看>>
Java多线程编程(五)定时器Timer
查看>>
如何正确使用const(常量),define(宏)
查看>>
Linux系统目录权限chmod误操作权限修复方法
查看>>
wp7中如和从app.xaml.cs中直接导航到程序的某个页面
查看>>
Eclipse Jee Neon打开时报错 code=13的问题
查看>>
pymysql
查看>>
restframework之序列化
查看>>
配置网卡
查看>>
使用Asp.net mvc + Linq + mvc_scaffold_gen_setup.exe 生成一个完整的家庭帐册大管家程序 之二...
查看>>