JQGrid Progtwigtically Select Grid Row

Tengo un JQGrid con loadonce: verdadero (por lo que todo es del lado del cliente) y paginación habilitada (con, digamos 20 páginas).

Me gustaría especificar una fila (programáticamente, sin la entrada del usuario) y hacer que mi cuadrícula navegue a la página correspondiente para seleccionar la fila especificada.

¿Es esto posible con el JQGrid actual?

He buscado en la búsqueda y el filtro, pero eso solo vuelve a cargar la cuadrícula con nuevas filas. Necesito que mi cuadrícula navegue a la página correcta. Mantener sus datos y estructura.

Estoy en el proceso de optimizar la estructura de mi grilla, por lo que cualquier cambio necesario (por ejemplo, del lado del cliente al lado del servidor) sería posible.

Como usa loadonce:true , prepara los datos en el servidor. En el lado del servidor, puede decidir qué fila debe seleccionarse. En el lado del servidor también puede calcular fácilmente en qué página será la fila seleccionada. La identificación de la fila seleccionada y la página seleccionada puede, por ejemplo, incluir como parte de los datos del usuario . Por lo tanto, los datos enviados desde el servidor podrían ser similares a los siguientes:

 { "total": 5, "page": 1, "records": 107, "rows": [ ... ], "userdata": { "page": 3, "selId": 24 } } 

Dentro de loadComplete puedes hacer sobre seguir

 loadComplete: function(data) { if (jQuery("#list").getGridParam('datatype') === "json") { // data.userdata is the same as jQuery("#list").getGridParam('userData'); var userdata = jQuery("#list").getGridParam('userData'); var curPage = jQuery("#list").getGridParam('page'); // is always 1 if (curPage !== userdata.page) { setTimeout(function(){ jQuery("#list").setGridParam( { page: userdata.page }).trigger("reloadGrid"); jQuery("#list").setSelection (userdata.selId, true); },100); } else { jQuery("#list").setSelection (userdata.selId, true); } } } 

Un ejemplo de trabajo que puede ver en http://www.ok-soft-gmbh.com/jqGrid/DataToSelect.htm y http://www.ok-soft-gmbh.com/jqGrid/DataToMultiSelect.htm .

ACTUALIZACIÓN : Free jqGrid admite multiPageSelection:true option strarting con la versión 4.10.0. La opción permite establecer la selección de múltiples filas en la cuadrícula muy fácilmente (y funciona muy rápido, porque establece el estado de selección directamente durante la creación del cuerpo de la cuadrícula). Vea la respuesta y la demostración y el archivo Léame en 4.10.0 .

    Intereting Posts