Ext.grid.GridPanel不需按住Ctrl键单元行多选效果实现

项目中遇到需要实现在Ext.grid.GridPanel中选中单元格时,不需要按ctrl键便可多选,后来在sencha论坛上找到下面方法:重写Ext.grid.CheckboxSelectionModel中的handleMouseDown方法,该方法继承自Ext.grid.RowSelectionModel(),然后调用重写后的方法定义sm即可 
Java代码   收藏代码
  1. Ext.override(Ext.grid.CheckboxSelectionModel, {   
  2.     handleMouseDown : function(g, rowIndex, e){     
  3.       if(e.button !== 0 || this.isLocked()){     
  4.         return;     
  5.       }     
  6.       var view = this.grid.getView();     
  7.       if(e.shiftKey && !this.singleSelect && this.last !== false){     
  8.         var last = this.last;     
  9.         this.selectRange(last, rowIndex, e.ctrlKey);     
  10.         this.last = last; // reset the last     
  11.         view.focusRow(rowIndex);     
  12.       }else{     
  13.         var isSelected = this.isSelected(rowIndex);     
  14.         if(isSelected){     
  15.           this.deselectRow(rowIndex);     
  16.         }else if(!isSelected || this.getCount() > 1){     
  17.           this.selectRow(rowIndex, true);     
  18.           view.focusRow(rowIndex);     
  19.         }     
  20.       }     
  21.     }   
  22. });  
  23.   var sm = new Ext.grid.CheckboxSelectionModel();  

你可能感兴趣的:(gridPanel)