2011-05-18 90 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

相關問題