Сохранение настроек столбца jqGrid

У меня есть несколько jqGrids в моем приложении ASP.NET MVC 3 с несколькими столбцами . Я добавил следующее к определениям столбцов, чтобы по умолчанию некоторые столбцы были скрыты:

colModel: [
   { name: 'IceCreamID', hidden: true},
   { name: 'RecipeID', hidden: true }

, и это прекрасно работает. Эти столбцы не видны в моей сетке.

Затем я добавил это, чтобы реализовать селектор столбцов:

var grid = $('#icecreamGrid');
grid.jqGrid('navButtonAdd', '#icecreamPager',
{ caption: "Columns", buttonicon: "ui-icon-calculator",
  title: "Choose Columns",
  onClickButton: function() {
     grid.jqGrid('columnChooser');
  }
});

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

colModel: [
   { name: 'IceCreamID', hidden: true, hidedlg: true},

Так что теперь я могу легко скрывать / отображать столбцы. Как бы вы сохранили эту информацию? БД? Как печенье? Другой путь? Есть ли предпочтительный способ хранения такой информации, которая на самом деле является предпочтением пользователя, а не чем-то связанным с самими данными?


Дополнительная информация

Основываясь на приведенном ниже комментарии Олега, я хочу предоставить немного больше информации.

Дело в том, что у меня есть сетки с 10-15 столбцами, которые могут отображаться в зависимости от предпочтений пользователя. В качестве простого примера, одна из моих сеток имеет следующие 9 столбцов:

IceCream|ShortName|HasNuts|SugarAdded|LimitedRun|PromoItem|Facility|FirstRun|LastRun

Пользователи могут скрывать / отображать любой из этих 9 столбцов в зависимости от своих личных предпочтений.

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

27
задан itsmatt 8 December 2011 в 00:17
поделиться