extjs3 编辑器网格限制输入键行为

Posted

技术标签:

【中文标题】extjs3 编辑器网格限制输入键行为【英文标题】:extjs3 editor grid restrict enter key behavior 【发布时间】:2012-01-11 05:09:53 【问题描述】:

在 ExtJS3 中,我使用的是编辑器网格。单击输入时,焦点会自动移动到下一行并将字段移动到编辑器模式。

无论如何我可以改变行为并限制焦点移动到下一行,而不是在点击输入时停留在同一字段上并退出编辑模式。

【问题讨论】:

【参考方案1】:

配置编辑器网格的keys 属性。

根据api

键:对象/数组

一个 Ext.KeyMap 配置对象(采用预期的格式 Ext.KeyMap.addBinding 用于将自定义键处理分配给此面板 (默认为空)。

KeyMap 是这样配置的

var map = new Ext.KeyMap("editor-grid-id", 
    key: 13, // or Ext.EventObject.ENTER
    fn: myHandler, //return false to cancel the event, or whatever you want to do in the method
    scope: myObject  //the 'this' variable that you would like to use inside the myHandler method
);

【讨论】:

【参考方案2】:

如果您使用的是 RowSelectionModel,您可以在其配置对象中将 moveEditorOnEnter 设置为 false

http://docs.sencha.com/extjs/3.4.0/#!/api/Ext.grid.RowSelectionModel-cfg-moveEditorOnEnter

【讨论】:

以上是关于extjs3 编辑器网格限制输入键行为的主要内容,如果未能解决你的问题,请参考以下文章

如何在 extjs3 网格中捕获最后一行编辑事件

在编辑主网格行时,rowBody 刷新丢失内部网格。 extjs 3..我可以重新渲染内部网格..吗?

可编辑的网格 ExtJS,如何在网格上编辑行后更新数据库中的行

Ext js 编辑器网格禁用多行选择

EXtjs 3.2:如何将特定单元格设置为不可编辑或只读?

Extjs3.2 RowEditor 字段验证