1,頁面中增長監聽 <body onkeydown="javascript:keyPress(event);" onkeyup="javascript:keyRelease(event);"> 2.引入JS //------------------------------------------------------------------------------- // 結合SHIFT,CTRL,ALT鍵實現單選或多選 //------------------------------------------------------------------------------- var KEY = { SHIFT:16, CTRL:17, ALT:18, DOWN:40, RIGHT:39, UP:38, LEFT:37}; var selectIndexs = {firstSelectRowIndex:0, lastSelectRowIndex:0}; var inputFlags = {isShiftDown:false, isCtrlDown:false, isAltDown:false} function keyPress(event){//響應鍵盤按下事件 var e = event || window.event; var code = e.keyCode | e.which | e.charCode; switch(code) { case KEY.SHIFT: inputFlags.isShiftDown = true; break; default: } } function keyRelease(event) { //響應鍵盤按鍵放開的事件 var e = event || window.event; var code = e.keyCode | e.which | e.charCode; switch(code) { case KEY.SHIFT: inputFlags.isShiftDown = false; selectIndexs.firstSelectRowIndex = 0; break; default: } } 3.在datagrid中加入 onCheckRow :function(checked,data,rowid,rowdata){ //-------------for 結合SHIFT鍵實現單選或多選--------------- if(!inputFlags.isShiftDown ){ selectIndexs.firstSelectRowIndex = data.__index; } if(inputFlags.isShiftDown ) { selectIndexs.lastSelectRowIndex = data.__index; var tempIndex = 0; if(selectIndexs.firstSelectRowIndex > selectIndexs.lastSelectRowIndex ){ tempIndex = selectIndexs.firstSelectRowIndex; selectIndexs.firstSelectRowIndex = selectIndexs.lastSelectRowIndex; selectIndexs.lastSelectRowIndex = tempIndex; } for(var i = selectIndexs.firstSelectRowIndex ; i <= selectIndexs.lastSelectRowIndex ; i++){ grid.select(i); } } //-------------for 結合SHIFT鍵實現單選或多選---------------- },