Index: dojo-release-1.3.2-src/dojox/grid/DataSelection.js =================================================================== --- dojo-release-1.3.2-src.orig/dojox/grid/DataSelection.js +++ dojo-release-1.3.2-src/dojox/grid/DataSelection.js @@ -19,10 +19,8 @@ dojo.declare("dojox.grid.DataSelection", getSelected: function(){ var result = []; - for(var i=0, l=this.selected.length; i= inIndex){ - this.selectedIndex++; - } + var item = this.grid.getItem(inItem); + var id = this.grid.store.getIdentity(item); + this.selected[id] = item; }, remove: function(inIndex){ - this.selected.splice(inIndex, 1); - if(this.selectedIndex >= inIndex){ - this.selectedIndex--; - } + var item = this.grid.getItem(inItem); + var id = this.grid.store.getIdentity(item); + delete this.selected[id]; }, deselectAll: function(inExcept){ - for(var i in this.selected){ - if((i!=inExcept)&&(this.selected[i]===true)){ + for(var id in this.selected){ + var i = this.grid.getItemIndex(this.selected[id]); + if(i!=inExcept){ this.deselect(i); } } @@ -213,7 +232,7 @@ dojo.declare("dojox.grid.Selection", nul if(this.mode != 'extended'){ this.select(inIndex); }else{ - var lastSelected = this.selectedIndex; + var lastSelected = this._identityToIndex(this.selectedId); if(!inCtrlKey){ this.deselectAll(inIndex); }