如何在extjs中为shiftmodel添加shift + click功能?

时间:2014-06-16 07:43:41

标签: javascript extjs checkbox selection multi-select

今天我遇到extjs 4中的shift +点击功能问题。我希望执行与gmail中相同的功能。单击复选框时,Shift +单击行应该被选中。我的网格面板带有checkbox - selModel。我想在单击复选框时添加此功能,而不是在cellclick上。我已经检查了来自modemultiSelect的{​​{1}}和checkboxModel配置,但它们仅用于选择行,而不是选中复选框。提前谢谢。

1 个答案:

答案 0 :(得分:2)

最后,使用ext js 4.2

的工作解决方案
Ext.define('MyApp.override.CheckboxModelOverrides', {
override: 'Ext.selection.CheckboxModel', 

 onRowMouseDown : function(view, record, item, index, e) {
    var me = this;

    if (index !== -1) {

        if (!me.allowRightMouseSelection(e)) {
            return;
        }

        if (e.shiftKey && me.lastFocused) {
            me.selectRange(me.lastFocused, record, e.ctrlKey);
            me.processSelection(view, record, item, index, e);
        }

        if (!me.isSelected(record)) {
            me.mousedownAction = true;
            me.processSelection(view, record, item, index, e);
        } else {
            me.mousedownAction = false;
        }
    }

  }   
});