Frage

Gibt es ein Ereignis in jqGrid wenn ein Benutzer die Spalte Dialog verwendet Spalten hinzufügen oder entfernen. Wenn nicht, gibt es eine andere Art und Weise Spaltenwechsel zu verfolgen. Ich brauche diese ausgewählten Spalten bestehen bleiben, wenn ich das Gitter auf verschiedenen Seiten zeigen.

War es hilfreich?

Lösung

Welllll .... Sie zeigen den Dialog selbst, nicht wahr? Sie sind also bereits in Ihrem eigenen Code?

Ich vermute, dass das, was meinen Sie wirklich ist „wenn der Benutzer klickt auf‚Senden‘?“ Wenn ja, schauen Sie sich afterSubmitForm .

Andere Tipps

Ich glaube, er bedeutet die Spalte Dialog aus der jqGrid 3.6 Demo zu ändern.

Derzeit gibt es kein Ereignis für diese, aber es kann immer noch ein Weg sein. Grid-Methode columnChooser akzeptiert die folgende Option in der jqGrid Quelle:

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

Versuchen Sie, Ihre eigene Version der Funktion bereitstellt (siehe Demo-Seite für, wo diese nennen):

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

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

Unter der Annahme, das funktioniert, können Sie den folgenden Code verwenden, um herauszufinden, welche Spalten versteckt sind:

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

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

    }
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top