У меня есть таблица, заполненная данными, которые я хочу сортировать и фильтровать.jqGrid reload server
Я реализовал функцию автообновления, которая каждый раз загружает данные с сервера, но я хочу восстановить параметры сортировки и фильтрации, которые я могу сделать.
Я использую trigger("reloadGrid",[{current:true}])
, устанавливая тип данных в формате JSON, так что данные извлекаются с сервера, в функции autorefresh
, и сортировки и фильтрации варианты используются в методе loadcomplete
с setTimeout
, как объяснено в других вопросах StackOverflow ,
Это работает, но каждый раз, когда сетка обновляется, я вижу в течение одной секунды сетку с полными данными, не отсортированную и не фильтрованную, а затем данные локально сортируются/фильтруются.
Учитывая, что я хочу в 5 секунд автоматическое обновление, есть способ, я могу предотвратить метод reloadGrid
отображать полную информацию, когда есть запрос на сервер, но ждать reload
в loadComplete
для обновления дисплея?
Reload используется в autorefresh
функции:
$("#MyGrid").jqGrid("setGridParam",{url:"list.php", datatype:"json"}).trigger("reloadGrid",[{current:true}]);
Модель:
jQuery("#MyGrid").jqGrid({
url:'list.php',
datatype: "json",
loadonce:true,
...
loadComplete: function(){
if ($("#MyGrid").jqGrid("getGridParam", "datatype") !== "local") {
setTimeout(function() {
$("#MyGrid").jqGrid("setGridParam",{search:srch,postData:post});
})
};
}
Почему с помощью '' setTimeout' внутри loadComplete'? Можете ли вы ссылаться на вопрос, где вы получили эту идею? – david
Привет! Вопрос, где я получил эту идею, можно найти здесь: http://stackoverflow.com/a/14468880/2136486. Если я не ошибаюсь, делая это, перезагрузка внутри loadcomplete ожидает, что данные с сервера будут правильно восстановлены. Я прав ? – user2136486