jqGrid postData и фильтрация - PullRequest
       1

jqGrid postData и фильтрация

1 голос
/ 12 августа 2011

Я боролся с этим весь день. Мое требование очень простое: я использую поиск по одному полю. Я хочу сохранить состояние сетки (используя 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' => ""

Интересно то, что параметры, кажется, приняли, потому что если я просто нажму на заголовок, чтобы отсортировать сетку, фильтр вступит в силу. Мне не хватает метода принудительной фильтрации при перезагрузке.

Спасибо, - Дэвид

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...