我使用了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的刷新按钮只是用选定的列刷新表,但不重置它们。
感谢, 和Sandeep
答案 0 :(得分:1)
我可以将原始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"
});
请参阅演示here。