Расширенный поиск в jqGrid

Цикл статей «Документация jqGrid на русском».

Следующая статья — «Общие свойства редактирования в jqGrid».
Предыдущая статья — «Поиск по одному полю в jqGrid».

Расширенный поиск — это способ искать по нескольким полям сразу с разными условиями. Расширенный поиск и поиск по одному полю используют один и тот же метод, но отличаются настройками и отправляемыми данными.

Установка

Для того чтобы использовать этот метод, следующие модули должны быть включены при скачивании таблицы:Common, Form Edit, filter Plugin.

Соглашение о вызове

Или с помощью нового API:

Где

  • grid_id — это id уже созданной таблицы
  • multipleSearch:true — включает расширенный поиск
  • … другие свойства устанавливается как пары «имя:значение»

Для установки более сложного поиска:

  • multipleGroup:true активирует более расширенное диалоговое окно, которое позволяет добавить более сложные групповые условия.

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

Этот метод не является методом поиска по умолчанию в навигаторе. Для того чтобы сделать его методом по умолчанию, вы должны установить свойства по умолчанию, используя метод extend, или установить их в навигаторе в свойствах поиска.

В расширенном поиске пользователь может добавить любое количество условий для поиска.

Для добавления условия используется кнопка Add/Добавить.

Для удаления условия используется кнопка со знаком минус.

Свойства

Используются те же самые свойства, что и при поиске по одному полю.

Ниже мы рассматриваем только те свойства, которые связаны с расширенным поиском.

Как упоминалось выше, первое свойство —

multipleSearch:true — это свойство включает расширенный поиск.

Второй свойство —

sFilter — это свойство определяет имя для отправляемых данных. Значение по умолчанию — filters.

При отправке на сервер к url добавляется только один параметр (вместе с _search=true) — элемент filters.

Отправляемые данные могут выглядеть так:

Отправляемые данные являются JSON-строкой со следующими свойствами:

  • groupOp — определяет правила для поиска. Может быть "AND" или "OR". Это свойство может быть изменено пользователем с помощью элемента select рядом с кнопкой сброса. При выборе all (английский вариант, русский — «все») устанавливается "AND". При выборе any (русский — «любой») устанавливается "OR".
  • rules — массив со следующими свойствами: field — содержит имя выбранного index (или name) из colModel, op — определяет условия поиска(смотрите sopt в свойствах), data — введённые данные для поиска.
  • groups — множество других groupOp, для определения составного поиска.

Цикл статей «Документация jqGrid на русском».

Следующая статья — «Общие свойства редактирования в jqGrid».
Предыдущая статья — «Поиск по одному полю в jqGrid».

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *