События JQGrid onselectrow - настраиваемый множественный выбор

Я много работал с JQGrid и всем рекомендую его. Единственная особенность, которая мне не очень нравится, - это встроенный множественный выбор, который не использует специальные клавиши, такие как shift и ctrl, не дает вам большого контроля и заставляет показывать флажки.

Я хотел бы реализовать свой собственный множественный выбор следующим образом: В onSelectRow - проверьте, удерживается ли shift или ctrl, добавьте идентификатор строки в массив и выберите его в сетке. если ни один из них не удерживается, очистите массив и добавьте новый идентификатор строки и выберите его в сетке.

Это достаточно просто реализовать, за исключением , мне нужно событие в onSelectRow , чтобы проверить, используются ли ключи проводятся. Я бы предпочел не прикреплять события keydown и keyup к самому основному документу.

onSelectRow: function (id) {
            event=???
            if (!event.shiftKey && !event.ctrlKey) {

            }
            else {

            }
}

С уважением, Байрон Кобб.

РЕДАКТИРОВАТЬ: Решение -

После ввода Олега я сделал следующее:

  1. Установить multiselect: true в определении сетки
  2. Скрыть столбец флажка в ] gridComplete , установив $ ("# myGrid"). jqGrid ('hideCol', 'cb');
  3. Сам проверял наличие клавиши ctrl (без использования multikey: "ctrlKey") перед выбором и очистка выделения, если не нажата клавиша ctrl.
  4. Позже с использованием массива выбора при необходимости - var SelectedRows = $ ("# myGrid"). jqGrid ('getGridParam', 'selarrrow');

beforeSelectRow: function (rowid, e) {
            if (!e.ctrlKey) {
                $("#myGrid").resetSelection();
            }
            return true;
        },
1
задан Bob 7 September 2010 в 12:28
поделиться