problema resuelto
que finalmente terminó usando las cookies en javascript para almacenar la columna de ordenación, el orden de clasificación, número de página, las filas de la rejilla y detalles del filtro de la red (usando JSON/Javascript cookies - el objeto prefs
)
Guardar preferencias - llamó desde $(window).unload(function(){ ... });
var filters = {
fromDate: $('#fromDateFilter').val(),
toDate: $('#toDateFilter').val(),
customer: $('#customerFilter').val()
};
prefs.data = {
filter: filters,
scol: $('#list').jqGrid('getGridParam', 'sortname'),
sord: $('#list').jqGrid('getGridParam', 'sortorder'),
page: $('#list').jqGrid('getGridParam', 'page'),
rows: $('#list').jqGrid('getGridParam', 'rowNum')
};
prefs.save();
carga Preferencias - llamó desde $(document).ready(function(){ ... });
var gridprefs = prefs.load();
$('#fromDateFilter').val(gridprefs.filter.fromDate);
$('#toDateFilter').val(gridprefs.filter.toDate);
$('#customerFilter').val(gridprefs.filter.customer);
$('#list').jqGrid('setGridParam', {
sortname: gridprefs.scol,
sortorder: gridprefs.sord,
page: gridprefs.page,
rowNum: gridprefs.rows
});
// filterGrid method loads the jqGrid postdata with search criteria and re-requests its data
filterGrid();
jqGrid referencia: http://www.secondpersonplural.ca/jqgriddocs/_2eb0fi5wo.htm
por demanda popular - el código de FILTERGRID
function filterGrid() {
var fields = "";
var dateFrom = $('#dateFrom').val();
var dateTo = $('#dateTo').val();
if (dateFrom != "") fields += (fields.length == 0 ? "" : ",") + createField("shipmentDate", "ge", dateFrom);
if (dateTo != "") fields += (fields.length == 0 ? "" : ",") + createField("shipmentDate", "le", dateTo);
var filters = '"{\"groupOp\":\"AND\",\"rules\":[' + fields + ']}"';
if (fields.length == 0) {
$("#list").jqGrid('setGridParam', { search: false, postData: { "filters": ""} }).trigger("reloadGrid");
} else {
$("#list").jqGrid('setGridParam', { search: true, postData: { "filters": filters} }).trigger("reloadGrid");
}
}
function createField(name, op, data) {
var field = '{\"field\":\"' + name + '\",\"op\":\"' + op + '\",\"data\":\"' + data + '\"}';
return field;
}
Te recomiendo que pienses en la actualización de diferentes datos en el lado del servidor. ¿Será el filtro de trabajo? ¿Podría eliminar los filtros guardados después de las actualizaciones en el servidor? El ejemplo de easieast es el número de página. ¿Cómo se verá como jqGrid en el lado del cliente si en la próxima vez que el conteo máximo de páginas será menor que la página actual guardada en la cookie? Sin embargo, considero que su implementación es buena y que va definitivamente en la dirección correcta. – Oleg
Hola, Jimbo. Tendré ese filterGrid de ti si lo tienes. +1 en preguntas y respuestas, exactamente lo que estaba buscando. –
@David - Actualicé mi respuesta anterior para incluir el código filterGrid - todo lo mejor :) – Jimbo