EasyUI DataGrid初始化方法中增加如下方法:
singleSelect:true, //只允许选中一行
onClickRow(index, row) {
//-------------for TEST 结合SHIFT,CTRL,ALT键实现单选或多选----------------
if (index != selectIndexs.firstSelectRowIndex && !inputFlags.isShiftDown) {
selectIndexs.firstSelectRowIndex = index; //alert('firstSelectRowIndex, sfhit = ' + index);
}
if (inputFlags.isShiftDown) {
$('#baseOrderList').datagrid('clearSelections');
selectIndexs.lastSelectRowIndex = 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++) {
$('#baseOrderList').datagrid('selectRow', i);
}
}
//-------------for TEST 结合SHIFT,CTRL,ALT键实现单选或多选----------------
}
页面body标签上添加
onkeydown="javascript:keyPress(event);" onkeyup="javascript:keyRelease(event);"
最后在页面的script标签中中写入下述内容即可
// 结合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;
$('#baseOrderList').datagrid('options').singleSelect = false;
break;*/
case KEY.CTRL:
inputFlags.isCtrlDown = true;
$('#baseOrderList').datagrid('options').singleSelect = false;
break;
case KEY.ALT:
inputFlags.isAltDown = true;
$('#baseOrderList').datagrid('options').singleSelect = false;
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;
$('#baseOrderList').datagrid('options').singleSelect = true;
break;*/
case KEY.CTRL:
inputFlags.isCtrlDown = false;
selectIndexs.firstSelectRowIndex = 0;
$('#baseOrderList').datagrid('options').singleSelect = true;
break;
case KEY.ALT:
inputFlags.isAltDown = false;
selectIndexs.firstSelectRowIndex = 0;
$('#baseOrderList').datagrid('options').singleSelect = true;
break;
default:
}
}
转载自whm1234566777,原文链接:https://blog.csdn.net/whm18322394724/article/details/79277485