2015-02-28 4 views
1

Я использую плагин jquery jqGrid, и мне нужно запустить событие при инициализации сетки. Я тестировал события gridComplete и loadComplete, но эти события возникали после каждого запроса сервера. Мне нужно событие, которое поднимает только один раз и после инициализации сетки. Я читал jqGrid events list, но я не вижу никаких связанных событий с моим требованием. Там в любом случае? Спасибо за внимание.jqGrid - событие инициализации сетки

Update:

Благодаря @Oleg для своего ответа. Я использую jqGrid 4.6 и использовал предложенные мной предложения @ Oleg:

$('#grid1').jqGrid('setGridParam', { 
       onSelectRow: function(id) { 
        //This event raised without problem. 
       }, 
       onInitGrid: function(){ 
        //This event does not raised. 
       }, 
       jqGridInitGrid: function(){ 
        //This event does not raised. 
       }, 
      }); 

Но это не работает. Каков правильный способ использования этих двух событий?

ответ

2

Если я правильно понимаю ваши требования, то событие jQuery jqGridInitGrid или onInitGrid - это то, что вам нужно. Это первые события/обратные вызовы, которые будут вызываться один раз при создании сетки после того, как будет построена внешняя часть jqGrid и до первого заполнения jqGrid данными. Событие/обратный вызов может быть использован в jqGrid 4.6/4.7

новая версия free jqGrid, который я разрабатываю сейчас, дополнительно содержит beforeInitGrid обратный вызова и jqGridBeforeInitGrid события. Обратный вызов/событие будет называться до jqGrid запускает обработку входных параметров. Таким образом, можно, например, произвести любую модификацию параметра. Вы можете, например, изменить/сгенерировать colModel на основе входных данных.

Таким образом, лучший выбор обратных вызовов/событий зависит от того, в какой момент инициализации вам понадобятся некоторые изменения и из какой версии jqGrid вы используете.

+0

Я обновил свой вопрос и добавлю предлагаемые вами мероприятия, пожалуйста, прочитайте мой вопрос еще раз. Огромное спасибо. – hamed

+0

@hamed: Извините, но я не вижу никаких изменений в вашем вопросе. Какую версию jqGrid вы используете? Вы пробовали 'onInitGrid' или другое? Разве это не то, что вам нужно? Что должно ** быть уже инициализировано ** в сетке в момент вызова вашего обратного вызова/события? Что вам нужно сделать в обратном вызове/событии? – Oleg

+0

Извините, я обновил только сейчас. – hamed

Смежные вопросы