Как я могу использовать jqGrid вместе с текстовым полем для поиска? - PullRequest
2 голосов
/ 12 сентября 2011

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

Примечание: Я не использую существующую функциональность фильтров, которая доступна с jqgrid по умолчанию.

Я немного растерялся, как мне этого добиться. Есть ли встроенная способность jqgrid для достижения этой цели? То, как я сейчас это делаю, это то, что я обрабатываю событие click в моем javascript и предоставляю данные поста методу действия:

  $('#submit').click(function () {

            $("#customers").jqGrid('setGridParam', { postData: { 'ContactName': $('#contactName').val(),
                CompanyName: $('#companyName').val()
            }
            });

            $("#customers").trigger("reloadGrid");

        });

Эти данные публикуются с помощью метода действия и работают нормально. Есть ли лучший способ сделать это? или я на правильном пути? Иногда я чувствую, что пишу меньше кода на сервере и стал больше программистом на стороне клиента, так как я начал использовать Asp.Net MVC 3.0;)

1 Ответ

3 голосов
/ 12 сентября 2011

Вам не нужно использовать setGridParam для изменения postData , поскольку вы можете объявить функцию:

jqGrid({
    url : ...,
    datatype : ...,
    mtype : "POST",
    postData : { 
            "ContactName" : (function() {
                            return $("#contactName").val();
                        })
    }
}

, поэтому ваша функция отправки будет вызывать толькоreloadGrid

 $('#submit').click(function () {
    $("#customers").trigger("reloadGrid");
 }

Если вы хотите уменьшить объем кода и вам лучше создать простой API в JS, чтобы выбирать объекты, такие как Customer, Person, Contact и т. д. В настоящее время у меня есть приложение, которое состоит из формиз десятков таких сущностей - поэтому мне пришлось создать JS API для выбора (он также дает универсальный внешний вид).Со стороны клиента клиент указывает имя списка для получения, а список возможных имен определяется в файле конфигурации сервера, который также определяет запрос к ORM и способ отображения полей (я использую язык выражений для сопоставленияот полей сущностей до строк).

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