关于EXT的CheckboxSelectionModel()

zhuliyong 2008-09-27
大家好,可能我遇到的问题很简单,但也希望知道的朋友指导一下。

var sm1 = new CheckboxSelectionModel();

问题:
我在grid中使用sm1的时候可以获得全选和全不选,也可以进行多选,但是这必须要选中选框,如果鼠标位置是一行的其他位置,就变成了单选一个,也就是说前面选的其他项全部丢失了;


这个很不方便,必须重新选;

现在,我怎么做到,鼠标在一行的其他非选框位置选的时候,也可以继续增加选项,也不是变成单选?

例子见ext-2.2\examples\grid\grid3.html的第二个grid
zhuliyong 2008-09-28
zhuliyong 2008-10-09

关于这个问题,我 自己解决了,通过添加对相应的事件添加自定义函数,搞定了~~
jlzxjk 2008-11-27
我也再被领导整,就为这个,楼主能不能共享下代码?
dslbq 2010-05-09
修改源代码,覆盖CheckboxSelectionModel继承的handleMouseDown方法.如下:
/*line:64165 Ext.grid.CheckboxSelectionModel*/
//private	
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; // reset the 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);
	    }
	}
},
zero1111 2010-05-09
最好别修改源代码,当然修改源代码简单,这事我也干过.不过现在你要考虑你修改的CheckboxSelectionModel是否在你的项目里通用呢? 如果不是通用最好继承或是在你的js里复写那一部分即可. 没有别的意思,只是提供你参考.
kdmhh 2011-03-25
zhuliyong 写道

关于这个问题,我 自己解决了,通过添加对相应的事件添加自定义函数,搞定了~~

请问是怎么解决的?我也遇到这个问题了。谢谢
bugu1986 2011-03-25
继承下还是比较好的,而且不麻烦。
柴秉承 2011-04-16
确实你遇到的问题很简单
你们遇到的情况jack都会考虑到 不要动不动就是ext的缺陷

在点击行的时候 设为Ext.emptyFn
itfreeman 2011-08-27
new Ext.grid.CheckboxSelectionModel({
singleSelect : false ,
handleMouseDown: Ext.emptyFn});
Global site tag (gtag.js) - Google Analytics