今天我面临着extjs 4
中shift+click功能问题的问题。我想做与gmail
相同的功能。在点击复选框与shift+点击行应该被选中。我有网格面板与checkbox - selModel
。我想在点击复选框时添加这个功能而不是在cellclick上。我已经从checkboxModel
和grid panel
检查了mode
和multiSelect
配置,但它们仅用于行选择而不是复选框选择。
最后,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;
}
}
}
});