2012-06-26 3 views
0

Я использую jQGrid, и мне интересно, есть ли способ получить текущие фильтры, которые были применены к сетке, которую я просматриваю. Например, если сетка была отсортирована по определенному столбцу (asc или desc), параметры поиска, которые могли быть применены, и т. Д.Получить параметры фильтра сетки

Вот моя проблема: я хотел бы передать некоторые параметры обратно в предыдущую сетку Я просматривал (или последнюю страницу), чтобы увидеть предыдущую сетку, как это было, когда я перешел вперед. В принципе, у меня есть ссылка, которую пользователь щелкнет, которая перейдет на страницу с предыдущей сетью, которую они просматривали. Я хочу передать параметры фильтра вместе с этой ссылкой.

Общий пример:

  1. Я фильтруется сетку клиента с помощью client_name поля в asc порядке.
  2. Затем я нажал ссылку, которая приведет меня к отдельной странице с новой сеткой.
  3. Я хочу перейти обратно в сетку клиента Я был ранее включен, увидев, что моя сетка с client_name отфильтрована в asc, так как это было, когда я впервые прошел навигацию.

В настоящее время я могу перейти обратно в сетку «Клиенты», но я хотел бы получить параметры фильтра, которые были применены, чтобы я мог передать их с моей ссылкой назад.

Дайте мне знать, если я достаточно конкретна!

Спасибо за помощь!

ответ

0

Я бы рекомендовал читать the answer и this one. Ответы показывают, как решить очень близкую проблему, используя window.localStorage. Наиболее важными параметрами jqGrid, которые определяют состояние, являются: sortname, sortorder для сортировки, search и postData (в основном postData.filters) для фильтрации, page для подкачки. Более того, если вы используете columnChooser, вам нужно будет использовать опцию jqGrid remapColumns. Вы можете дополнительно дополнительно учитывать информацию о текущей выбранной строке/строках (selrow или selarrrow). Таким образом, точный список параметров, которые вам нужно сохранить или восстановить, зависит от ваших требований.

+0

Я проверю эти ссылки позже, когда я получу время! – FastTrack

+0

Олег: Я думаю, что я хотел бы уклониться от 'localStorage', так как у меня есть клиенты, использующие мое приложение, использующее IE7. Вместо этого я хотел бы сохранить состояние jqGrid в базе данных MySQL. Есть ли короткий способ захватить текущие состояния: 'sortname',' sortorder', 'search',' postData', 'postData.filters',' page' и 'remapColumns'? Может быть, что-то вроде 'jqGrid ('getGridParam', 'sortname')'? Спасибо, как всегда, Олег! – FastTrack

+1

@FastTrack: вы можете просто следовать примеру из [ответа] (http://stackoverflow.com/a/8436273/315935). Он использует 'getGridParam' для получения параметров' sortname', 'sortorder',' search', 'postData' и т. Д. Вы можете отправить текущее состояние сетки на сервер' $ .ajax' вместо вызова 'window.localStorage .setItem'. – Oleg

Смежные вопросы