【IT168技术文档】
在ExtJs ExtenderControl 中添加勾选列后,不能正常勾选,因为每一次单击勾选框的操作都会都单击行的覆盖。
这时,我们需要在选择时,监听选择事件,并处理,即可。代码如下:
sm = new Ext.grid.CheckboxSelectionModel({ listeners: { beforerowselect : function (sm, rowIndex, keep, rec) { if (this.deselectingFlag && this.grid.enableDragDrop){ this.deselectingFlag = false; this.deselectRow(rowIndex); return this.deselectingFlag; } return keep; } }, onMouseDown : function(e, t){ if(e.button === 0 ){ e.stopEvent(); var row = e.getTarget('.x-grid3-row'); if(row){ var index = row.rowIndex; if(this.isSelected(index)){ if (!this.grid.enableDragDrop) this.deselectRow(index); else this.deselectingFlag = true; }else{ this.selectRow(index, true); } } } } });