У меня есть несколько 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 столбцов в зависимости от своих личных предпочтений.
Я хочу предоставить способ сохранять, какие столбцы хочет видеть конкретный пользователь, чтобы ему не приходилось повторно выбирать эти столбцы для просмотра каждый раз, когда отображается страница с этой сеткой.