Pregunta

¿Hay un evento en jqGrid cuando un usuario usa el diálogo de columna para agregar o eliminar columnas? Si no es así, hay otra forma de seguir el cambio de columna. Necesito esto para conservar las columnas seleccionadas cuando muestro la cuadrícula en diferentes páginas.

¿Fue útil?

Solución

Welllll .... Estás mostrando el diálogo tú mismo, ¿verdad? ¿Entonces ya estás en tu propio código?

Supongo que lo que realmente quieres decir es "cuando el usuario hace clic en 'Enviar'?" Si es así, consulte afterSubmitForm .

Otros consejos

Creo que se refiere al diálogo de cambio de columna de la demostración jqGrid 3.6.

Actualmente no hay un evento para esto, pero aún puede haber una manera. El método grid columnChooser acepta la siguiente opción en la fuente jqGrid:

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

Intente proporcionar su propia versión de la función (consulte la página de demostración para saber dónde llamarla):

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

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

Suponiendo que esto funcione, podría usar el siguiente código para averiguar qué columnas están ocultas:

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

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

    }
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top