Question

Existe-t-il un événement dans jqGrid lorsqu'un utilisateur utilise la boîte de dialogue de colonne pour ajouter ou supprimer des colonnes. Sinon, existe-t-il un autre moyen de suivre le changement de colonne? J'ai besoin de cela pour conserver les colonnes sélectionnées lorsque je montre la grille sur différentes pages.

Était-ce utile?

La solution

Welllll .... Vous montrez le dialogue vous-même, non? Vous êtes donc déjà dans votre propre code?

Je suppose que ce que vous voulez vraiment dire, c'est "lorsque l'utilisateur clique sur" Soumettre "? Si tel est le cas, consultez afterSubmitForm .

Autres conseils

Je pense qu'il parle de la colonne de dialogue de la démo jqGrid 3.6.

À l'heure actuelle, il n'y a pas d'événement pour cela, mais il peut toujours y avoir un moyen. La méthode de grille columnChooser accepte l'option suivante dans la source jqGrid:

"done" : function(perm) { if (perm) self.jqGrid("remapColumns", perm, true) },

Essayez de fournir votre propre version de la fonction (voir la page de démonstration pour savoir où appeler cela):

jQuery("#colch").jqGrid('columnChooser', {
   "done" : function(perm) { 
       if (perm) {
          jQuery("#colch").jqGrid("remapColumns", perm, true) 

          ( ... your code here ... )
       }
   }
});

En supposant que cela fonctionne, vous pouvez utiliser le code suivant pour déterminer les colonnes masquées:

var colModel = $("#mygrid").getGridParam("colModel");
for (var i = 0; i < colModel.length; i++){
    if (colModel[i].hidden) { 

        ... store away colModel.name somewhere ... 

    }
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top