2011-05-18 2 views
0

J'ai utilisé la fonction setColumns pour afficher/masquer les colonnes dynamiquement du côté client.jqgrid - réinitialise toutes les colonnes par défaut après setcolumns

maintenant je veux réinitialiser toutes les colonnes à la vue par défaut .. comment faire cela.

ce qui suit est le code utilisé i

$("#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" 
}); 

je besoin de quelque chose comme remis à zéro. Le bouton d'actualisation pour jqgrid est juste l'actualisation de la table avec les colonnes sélectionnées mais ne les réinitialise pas.

grâce, Sandeep

Répondre

1

je peux enregistrer le paramètre colModel d'origine dans une variable et utiliser les valeurs initiales de hidden propriétés pour afficher ou masquer les colonnes:

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" 
}); 

Voir la démo here.

+0

merci cela fonctionne ... – Sandeep

Questions connexes