Как выполнить функцию перед перезагрузкой в ​​jqgrid?

Я хочу запускать функцию каждый раз, когда сетка перезагружается.

Итак, как я могу этого добиться?

Я вызываю reloadGrid следующим образом:

jQuery("#myGrid").trigger("reloadGrid");

у меня есть функция

function myFunc()
{
 // Do something
}

Я не получаю обработчик события reloadGrid. Если я получу это, я могу просто снова связать reloadGrid с вызовом обработчика и вызовом myFunc().


person soham    schedule 05.07.2013    source источник


Ответы (1)


Хорошо, я решаю это так:

$('#myGrid').on('reloadGrid', myFunc());
person soham    schedule 05.07.2013
comment
какие действия вы хотите сделать в myFunc? Решение кажется мне немного странным. Есть много других обратных вызовов и событий, которые поддерживаются jqGrid. Наверное лучше использовать там вместо reloadGrid? - person Oleg; 05.07.2013
comment
Есть отдельное текстовое поле. Я хочу сделать это поле пустым всякий раз, когда сетка перезагружается. На самом деле есть ли способ определить, перезагружает ли пользователь сетку, нажимая кнопку, или какая-либо внутренняя функция перезагружает сетку? Хотя я могу определить нажатие кнопки обновления, просто привязав событие к этой кнопке. Но есть ли другой способ? - person soham; 07.07.2013
comment
Кажется, вы можете просто использовать обратный вызов loadComplete или событие "jqGridLoadComplete". Если загрузка идет очень медленно и вам действительно нужно вызвать myFunc перед началом загрузки, вы можете альтернативно использовать beforeRequest обратный вызов или "jqGridBeforeRequest" событие. Кстати Перезагрузка сетки тоже будет инициализирована например при сортировке сетки. - person Oleg; 07.07.2013