Как обработать событие JqGrid программно? - PullRequest
2 голосов
/ 29 июля 2010

Я использую оболочку ASP.NET для JqGrid .Я хотел бы программно подключить обработчики для некоторых событий сетки (например, gridComplete, resizeStop).

Во всех примерах, которые я видел, вы связывали событие как часть параметров при создании объекта сетки - например:

$("#gridid").jqGrid({
   ...
   onSelectRow: function(){ ... },
   ...
});

Однако компонент ASP.NET делаетэта начальная настройка для меня.Я могу настроить некоторые клиентские обработчики компонента, например gridInitialized;но (как ни странно) таким образом раскрывается только небольшое подмножество событий.

Итак: Как только сетка инициализирована, есть ли способ присоединить обработчики к ее событиям?Я пробовал такие вещи, как

$grid.setGridParam("resizeStop", function () { alert("!!") }); // DOESN'T WORK

и

$grid.resizeStop = function () { alert("!!") }; // DOESN'T WORK

и, конечно, стандартный синтаксис привязки событий jQuery

$grid.bind("resizeStop", function () { alert("!!") }) // DOESN'T WORK

, но все это не работает.

Есть идеи?

1 Ответ

2 голосов
/ 29 июля 2010

Вы можете изменить обработчик событий в отношении метода setGridParam (см. Закрытый вопрос Добавить обработчик событий в jqGrid после создания экземпляра ). Он должен работать одинаково как для коммерческой, так и для открытой версии jqGrid. Просто попробуйте следующее:

$('#gridid').jqGrid('setGridParam', { resizeStop: function(newwidth, index) {
    alert("The column with the index " + index + " has now the width " + newwidth);
} } );
...