Я только что натолкнулся на тот же вопрос, желая каким-то образом имитировать такое поведение:
- Выберите один раз при щелчке строки jqGrid
- Многократный выбор при щелчке строки мышью (например, CTRL + щелчок)
Мое решение использует событие "beforeSelectRow" jqGrid, которое передает событие click своему обработчику. Обработчик различает простой щелчок и нажатие клавиши. Щелчок по нажатию клавиши проходит, простой щелчок сначала удаляет предыдущий выбор, а затем пропускает событие.
function(rowid,e) {
if (e.ctrlKey==true) {
return true;//CTRL clicked-->multi select
} else {
$('#CoolGrid').jqGrid('resetSelection');//Reset existing select
return true;//Pass through new item selection
}
}
Конечно, вы, возможно, захотите немного сократить это, но таким образом, мне кажется, это было бы более ясно.
Для этого вам не нужны ни опция multikey, ни multiboxonly. Конечно, для параметра Multiselect необходимо установить значение true.