2011-05-18 98 views
0

我已经使用setColumns函数在客户端动态显示/隐藏列。jqgrid - 将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

我可以保存在一个变量原来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

+0

谢谢它的作品... – Sandeep 2011-05-20 04:12:28

相关问题