Я боролся с этим весь день. Мое требование очень простое: я использую поиск по одному полю. Я хочу сохранить состояние сетки (используя postData и cookie), когда я покидаю страницу, и восстановить его, когда я вернусь. Я могу сохранить postData в cookie, но не могу понять, как восстановить состояние сетки снова.
$(document).ready(documentReady);
function documentReady()
{
$("#grid_clients").jqGrid({
datatype: "local",
height: 200,
width: 832,
shrinkToFit: true,
caption:"Clients",
colNames :["","Id","Name","Description","Active<br />Studies"],
colModel :[
{name:"edit", index:"edit", width:20, align:"center", sortable:false, search: false},
{name:"id", index:"id", width:40, align:"right", sorttype:'int'},
{name:"name", index:"name", width:200},
{name:"description", index:"description", width:200},
{name:"studycount", index:"studycount", width:50, align:"right", sorttype:'int'}
],
pager:"pager_clients",
scroll: 1,
viewrecords:true,
sortable:true,
sortname: "name",
autowidth: true,
pgbuttons: false,
loadonce: true,
gridview: true
});
$("#grid_clients").jqGrid("navGrid", "#pager_clients",{add:false, edit:false, del:false});
$('#grid_clients').jqGrid('setGridParam', {datatype: 'xml'});
var gridUrl = 'getgridxmlclients.php';
$('#grid_clients').jqGrid('setGridParam', {url: gridUrl});
// If the cookie exists, set the postData and search parameters.
if ($.cookies.get('gridPostData'))
{
alert(dump($.cookies.get('gridPostData')));
$('#grid_clients').jqGrid('setGridParam', {search: true, 'postData': $.cookies.get('gridPostData')});
}
$('#grid_clients').trigger('reloadGrid', [{page:1}]);
}
Предупреждение о cookie при возврате на страницу выглядит следующим образом:
'_search' => "true"
'nd' => "1313100751399"
'rows' => "20"
'page' => "1"
'sidx' => "id"
'sord' => "asc"
'searchField' => "studycount"
'searchString' => "1"
'searchOper' => "eq"
'filters' => ""
Интересно то, что параметры, кажется, приняли, потому что если я просто нажму на заголовок, чтобы отсортировать сетку, фильтр вступит в силу. Мне не хватает метода принудительной фильтрации при перезагрузке.
Спасибо, - Дэвид