@icats: Добро пожаловать!

ользуюОлег«sпредложение использоватьbeforeSelectRow событие для обработки кликов по ячейкам в моей сетке.

Код Олега в его ответе (который точно имитирует):

Вы можете определить столбцы с помощью кнопок, как показано ниже

{ name: 'add', width: 18, sortable: false, search: false, 
formatter:function(){
    return "<span class='ui-icon ui-icon-plus'></span>"
}}

В приведенном выше коде я использую пользовательский форматер jqGrid, но без привязки к событию. Код

beforeSelectRow: function (rowid, e) {
        var iCol = $.jgrid.getCellIndex(e.target);
        if (iCol >= firstButtonColumnIndex) {
        alert("rowid="+rowid+"\nButton name: "+buttonNames[iCol]);
    }

    // prevent row selection if one click on the button
    return (iCol >= firstButtonColumnIndex)? false: true;
}

гдеfirstButtonColumnIndex = 8 а такжеbuttonNames = {8:'Add',9:'Edit',10:'Remove',11:'Details'}, В своем коде вы можете заменить оповещение на соответствующий вызов функции.

Проблема в том, что моя сетка также сортируется (я используюsortableRows метод на моей сетке). Если пользователь слегка щелкает мышью при нажатии на ячейку,beforeSelectRow событие никогда не вызывается (сортируемое событие).

Это желательно в большинстве ситуаций - однако, я думаю, что бы исправить это, чтобы каким-то образом исключить столбцы из «ручек», чтобы перетащить (отсортировать) строку и позволитьonSelectRow триггер события на этих столбцах. Я просто не могу понять, как это сделать! Любая помощь очень ценится :)

Ответы на вопрос(1)

Ваш ответ на вопрос