Я только что опубликовал ответ на тот же вопрос (возможно, от вас) на http://www.trirand.com/blog/?page_id=393/help/jqgrid-filtering. Чтобы другие люди могли легко прочитать ответ, я размещаю здесь ту же информацию.
Ответ на ваш вопрос мало зависит от того, как вы интерпретируете «фильтрацию». Если вы хотите использовать некоторые внешние элементы управления (выборки, флажки и т. Д. На той же странице, где у вас есть jqGrid) для фильтрации ваших данных, я рекомендую вам прочитать Как фильтровать данные jqGrid, НЕ используя встроенное поле поиска / фильтра .
Если вы хотите реализовать фильтрацию данных внутри jqGrid, вы можете выбрать между поиском по «поиску» и сбросом результатов поиска по кнопкам «обновления» навигатор ( простой поиск и расширенный поиск ), использование поиск по панели инструментов (рассмотрите возможность использования stringResult: true
для большего соответствия с другой формой поиска) и пользовательский поиск .
Если вы решили использовать расширенный поиск, вы можете просто добавить параметр строки filter
в действие (см. Руководство по улучшению способа сохранения параметров фильтрации при использовании ASP.NET MVC 2 ), которое обеспечивает данные сетки или добавьте три строковых параметра searchField
, searchString
, searchOper
, если вы хотите использовать функцию простого поиска. Во всех случаях вам нужно будет добавить WHERE
к SELECT
отчетам, которые будут построены в вашей программе на основе значений новых параметров.
Вероятно, другие люди публикуют вам больше URL-адресов с хорошими примерами полного кода, которые вы можете использовать.
ОБНОВЛЕНО : Я сам не пользуюсь Spring Framework, поэтому я не смог помочь вам с примерами Spring MVC 3.0. Некоторое общее решение встречается чаще. Например, в решениях ASP.NET MVC я предпочитаю не заполнять данные в сетке напрямую, используя MVC. Вместо этого я предоставляю веб-службу JSON (реализованную как часть решений ASP.NET MVC или как WCFservice, являющуюся частью того же веб-сайта), URL-адрес которой я размещаю в параметре jqGrid. Таким образом, вы должны просто инвестировать в написание бизнес-логики в форме веб-службы JSON / XML, которая предоставляет данные. Наиболее специфичный для jqGrid код, который вы можете написать на JavaScript. Таким образом, вы можете поделиться опытом других людей в использовании jqGrid и четко отделить HTML-код от бизнес-логики. Более того, веб-службы JSON / XML могут быть лучше протестированы, например, в отношении модульных тестов.