Запуск поиска с использованием внешних параметров в подсетке в jqGrid - PullRequest
0 голосов
/ 09 февраля 2012

У меня есть страница, которая использует jqGrid с сетками в качестве подсетей. У меня также есть элемент управления слайдером jQuery UI на моей странице. Когда пользователь меняет ползунок, я хочу запустить поиск по полю для подсетки, которая соответствует значениям позади ползунка.

Я искал документацию, чтобы попытаться найти лучший способ сделать это, но нахожу эту документацию очень запутанной. Похоже, он также предназначен для повторного вызова на сервер, чего я не хочу делать, поскольку я использую loadonce: true.

Мне удалось обойти эту проблему путем итерации по строкам подсетки и вызова hide() для строк, которые не соответствуют критериям, но это не поддерживает разбиение на страницы. Каков наилучший способ выполнить этот тип поиска с внешним запуском на подсетке?

1 Ответ

0 голосов
/ 09 февраля 2012

Я нашел решение путем обратного инжиниринга метода triggerToolbar в исходном файле jqGrid (шаблон '[id^=grid_GR][id$=_t]' совпадает с моими идентификаторами подсетки):

function external_subgrid_search() {
    var ruleGroup = '{"groupOp":"AND","rules":[{"field":"Inv","op":"bw","data":"25"}]}';
    $('[id^=grid_GR][id$=_t]').each(function () {
        var p = $(this).getGridParam('postData');
        p.filters = ruleGroup;
        $(this).setGridParam({ postData: p, search: true }).trigger("reloadGrid", [{ page: 1}]);            
    });
}

Это будет делать то же самое, что и при вводе«25» в поисковой панели для поля «Inv».Имейте в виду, что это ОЧЕНЬ урезанный.Он игнорирует любые функции beforeSearch или afterSearch, которые вы могли определить, и предполагает наличие локальных данных.Но, надеюсь, это может послужить отправной точкой для любого, кто пытается сделать что-то подобное.

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