普通的CheckboxSelectionModel也可也锁定,但是在锁定的那边全选按钮不好用了
//var sm = new Ext.grid.CheckboxSelectionModel();
//可锁定复选框列
var smLock = new Ext.grid.CheckboxSelectionModel({
singleSelect : false,
handleMouseDown : function(g, rowIndex, e) {
if (e.button !== 0 || this.isLocked()) {
return;
}
var view = this.grid.getView();
if (e.shiftKey && !this.singleSelect
&& this.last !== false) {
var last = this.last;
this.selectRange(last, rowIndex, e.ctrlKey);
this.last = last;
view.focusRow(rowIndex);
} else {
var isSelected = this.isSelected(rowIndex);
if (isSelected) {
this.deselectRow(rowIndex);
} else if (!isSelected || this.getCount() > 1) {
this.selectRow(rowIndex, true);
view.focusRow(rowIndex);
}
}
},
isLocked : Ext.emptyFn,
initEvents : function() {
Ext.grid.CheckboxSelectionModel.superclass.initEvents.call(this);
this.grid.on('render', function() {
var view = this.grid.getView();
view.mainBody.on('mousedown',
this.onMouseDown, this);
Ext.fly(view.lockedInnerHd).on('mousedown',
this.onHdMouseDown, this);
}, this);
}
});
//锁定
smLock.lock();
//cm.setLocked(1,true);
参考:
EXT3.4关于Grid锁定指定列固定多选框的实现
http://blog.csdn.net/maoxiao1229/article/details/22886817
列固定LockingColumnModel中复选框实现固定(lock)
http://hejianlong.123.blog.163.com/blog/static/26715839201111143924299/