Как изменить sidx, sord, фильтры имен параметров в jqGrid - PullRequest
6 голосов
/ 13 августа 2011

Если имена столбцов sidx, sord, filters, получение данных jqGrid не работает. Я попытался добавить подчеркивание к ним, используя код ниже, но эти параметры все еще передаются без подчеркивания. Другие параметры, такие как _rowid, _page и т. Д., Передаются правильно с подчеркиванием.

Как использовать sidx, sord, filters в качестве имен столбцов в jqgrid?

jQuery.extend(jQuery.jgrid.defaults, {
    prmNames: { id: "_rowid", oper: "_oper", page: "_page",
        sidx: "_sidx", sord: "_sord", page: "_page", rows: "_rows", filters: "_filters"
    }
});

1 Ответ

10 голосов
/ 13 августа 2011

Я не понимаю, что вы имеете в виду под "Если имена столбцов sidx, sord, filters, jqGrid, получение данных не работает". Тем не менее, если вам нужно, вы можете переименовать или удалить параметры jqGrid двумя способами: prmNames и serializeGridData.

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

$.extend(jQuery.jgrid.defaults, {
    prmNames: {
        id: "_rowid", page: "_page", rows: "_rows",
        oper: "_oper", sort: "_sidx", order: "_sord"
    }
});

(sort и order вместо sidx и sord). Чтобы переименовать filters в _filters и удалить отправку пустых searchField, searchString и searchOper, вы можете сделать почти то же, что я описал здесь :

serializeGridData: function (postData) {
    var myPostData = $.extend({}, postData); // make a copy of the input parameter
    myPostData._filters = myPostData.filters;
    delete myPostData.filters;
    delete myPostData.searchField;
    delete myPostData.searchString;
    delete myPostData.searchOper;
    return myPostData;
}

Используя Fiddler или Firebug , вы можете убедиться, что в URL-адресе демоверсии используются следующие параметры

_search=true&nd=1313235583212&_rows=10&_page=1&_sidx=invdate&_sord=desc&_filters=...

как вы, как нужно.

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