2011-05-09 46 views
6

cuando utilizo jqgrid e ingreso valores en el filtro superior de la barra de herramientas o en el filtro avanzado y luego hago clic en el botón "refresh grid" en el pie de página de la grilla, borra los valores en los filtrosEl botón jqgrid refresh grid no pasa los filtros

es un error en jqgrid, o hay algo que tienes que hacer explícitamente para mantener el estado de los filtros de columna de la barra de herramientas.

¿Hay alguna forma de hacerlo funcionar? enter image description here

Respuesta

5

Como puedes ver en el código fuente de jqGrid (mira here) el comportamiento es por diseño. La versión más antigua de jqGrid que pude encontrar es jqGrid 3.5.2 y en la versión también se reinicializó la malla de filtros ware.

Si necesita otro comportamiento del botón de recarga se puede añadir (utilizando navButtonAdd) el botón personalizado que se parece a la original del botón de recarga (gato que tiene "ui-icon-refresh" como parámetro buttonicon) y poner en práctica otro comportamiento de recargando Por ejemplo, puede llamar al trigger("reloadGrid", [{page:1}]).

Otra posibilidad para recargar la personalización son los eventos beforeRefresh y afterRefresh.

+0

@Oleg - gracias por los comentarios. Cuando dice que esto es "por diseño", ¿cree que alguien querría perder los filtros al actualizar? Parece un diseño extraño y más de un descuido. . – leora

+0

@ooo: Entiendo lo que quiere decir, pero en toda implementación de jqGrid, el botón "Actualizar" hace exactamente lo mismo: borrar el filtro y volver a cargar la cuadrícula. Es casi lo mismo que el botón "Restablecer" en el cuadro de diálogo de búsqueda. Si implementara el botón "Refrescar", implementaría más como ** actualización del servidor ** y no como reinicio de los filtros. En el caso de 'loadonce: true', primero guardaría el valor original de' datatype' ('json' o 'xml') y en el botón "Refresh" restablecería el valor original de 'datatype' y volvería a cargar la grilla sin cambio de filtros – Oleg

+0

@ooo: la ventaja de jqGrid es que puede implementar de manera relativamente fácil el comportamiento que necesita (vea mi respuesta principal) – Oleg

Cuestiones relacionadas