У меня есть несколько 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},
Итак, теперь я могу просто скрыть/показать столбцы. Теперь, как бы вы сохраняли эту информацию? DB? Как печенье? Другой путь? Есть ли предпочтительный способ хранения такой информации, которая действительно является предпочтением пользователя, а не чем-то, связанным с самими данными?
Дополнительная информация
Основываясь на комментарии Олега ниже, я хочу предоставить немного больше информации.
Дело в том, что у меня есть сетки с 10-15 столбцами, которые могут отображаться на основе предпочтений пользователя. Для простого примера одна из моих сетки имеет следующие 9 столбцов:
IceCream|ShortName|HasNuts|SugarAdded|LimitedRun|PromoItem|Facility|FirstRun|LastRun
Пользователи могут скрывать/показывать любой из этих 9 столбцов на основе своих личных предпочтений.
То, что я хочу сделать, - это способ сохранить те столбцы, которые конкретный пользователь хочет увидеть, чтобы он/она не нуждались в повторном выборе этих столбцов для просмотра каждый раз, когда отображается страница с этой сеткой.