jqgrid - сбросить все столбцы по умолчанию после setcolumns - PullRequest
0 голосов
/ 18 мая 2011

Я использовал функцию setColumns для динамического отображения / скрытия столбцов на стороне клиента.

Теперь я хочу сбросить все столбцы в представление по умолчанию. Как это сделать.

Ниже приведен код, который я использовал

$("#list").navButtonAdd('#pager', {
  caption: "View",
  title: "Click here to select Columns to view",
  onClickButton: function() {
    var params = {width:500,modal:true,drag:true};
    jQuery("#list").setColumns(params);
  },
  position: "last"
});

Мне нужно что-то вроде сброса.

Кнопка обновления для jqgrid просто обновляет таблицу с выбранными столбцами, но не сбрасывает их.

спасибо, Сандип

1 Ответ

1 голос
/ 19 мая 2011

Я могу сохранить исходный параметр colModel в переменной и использовать начальные значения свойств hidden, чтобы отобразить или скрыть столбцы:

var grid = $("#list"),
    cm = [
        { name:'id', hidden:true, ... }, // initially hidden column
        { name:'name', ...},             // initially non-hidden column
        ...
    ];
grid.jqGrid({
    colModel:cm,
    // ... other jqGrid parameters
});
grid.jqGrid('navButtonAdd','#pager', {
    caption: "Reset Columns",
    title: "Click here to select Columns to view",
    onClickButton: function() {
        var i=0, cmi, l=cm.length;
        for (;i<l;i++) {
            cmi=cm[i];
            if (typeof cmi.hidden === 'undefined' || cmi.hidden === false) {
                grid.jqGrid('showCol',cmi.name);
            } else {
                grid.jqGrid('hideCol',cmi.name);
            }
        }
    },
    position: "Reset"
});

См. Демо здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...