ExtJS 4 网格面板 - 空格键行切换

Posted

技术标签:

【中文标题】ExtJS 4 网格面板 - 空格键行切换【英文标题】:ExtJS 4 Grid Panel - Spacebar row toggle 【发布时间】:2011-07-22 14:16:46 【问题描述】:

在 ExtJS 4 中,选择网格面板中的一行(通过单击它),然后按空格键选择和取消选择该行。在 ExtJS 3 中不是这样的,我想禁用这个功能。

有什么想法吗?我已经开始研究Ext.util.KeyMap,看看我是否可以以某种方式覆盖它。提前致谢。

【问题讨论】:

【参考方案1】:

您必须覆盖Ext.selection.RowModelonKeyPress 方法。交付的实现是

onKeyPress: function(e, t) 
    if (e.getKey() === e.SPACE) 
        e.stopEvent();
        var me = this,
            record = me.lastFocused;

        if (record) 
            if (me.isSelected(record)) 
                me.doDeselect(record, false);
             else 
                me.doSelect(record, true);
            
        
    

不幸的是,目前没有配置开关来关闭该行为。

【讨论】:

有配置enableKeyNav允许关闭Ext.selection.RowModel中的按键导航 是的,但也会关闭所有其他键盘导航 - 例如光标键、上下翻页、主页和结束。 @Molecule,感谢您的回复,从长远来看,enableKeyNav 可能对我更有效。

以上是关于ExtJS 4 网格面板 - 空格键行切换的主要内容,如果未能解决你的问题,请参考以下文章

如何在 extjs 4 中选择网格面板行作为 HTMLELEMENT

为啥单击 ExtJS 4 网格面板操作列中的图标不选择行?

ExtJS 网格面板 - 每行多个“行”?

如何在 ExtJS 4 网格面板中保留垂直滚动条?

单击一行后,Extjs 4 网格自定义添加一个带有文本字段的面板

新添加的行不能拖放到 extjs 网格面板中