Вопрос

Есть ли событие в jqGrid, когда пользователь использует диалоговое окно столбцов для добавления или удаления столбцов. Если нет, есть ли другой способ отслеживать изменение столбца. Это необходимо для сохранения выбранных столбцов при отображении сетки на разных страницах.

Это было полезно?

Решение

Welllll .... Вы сами показываете диалог, верно? Итак, вы уже в своем собственном коде?

Я предполагаю, что на самом деле вы имеете в виду " когда пользователь нажимает кнопку "Отправить"? " Если так, посмотрите afterSubmitForm .

Другие советы

Я думаю, он имеет в виду диалог изменения столбца из демонстрации jqGrid 3.6.

В настоящее время нет события для этого, но все еще может быть способ. Метод сетки columnChooser принимает следующую опцию в источнике jqGrid:

"done" : function(perm) { if (perm) self.jqGrid("remapColumns", perm, true) },

Попробуйте указать собственную версию функции (см. демонстрационную страницу, где это можно вызвать):

jQuery("#colch").jqGrid('columnChooser', {
   "done" : function(perm) { 
       if (perm) {
          jQuery("#colch").jqGrid("remapColumns", perm, true) 

          ( ... your code here ... )
       }
   }
});

Предполагая, что это работает, вы можете использовать следующий код, чтобы выяснить, какие столбцы скрыты:

var colModel = $("#mygrid").getGridParam("colModel");
for (var i = 0; i < colModel.length; i++){
    if (colModel[i].hidden) { 

        ... store away colModel.name somewhere ... 

    }
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top