как очистить параметры sidx и sord при нажатии на сетку перезагрузки

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

           jQuery("#jqgrid").jqGrid({
                    url: 'http://localhost:7887/application/get',
                    mtype: 'GET',
                    datatype: "json",
                    colNames: ['AppId', 'Name', 'Rank'],
                    colModel: [
                        {name: 'AppId', key: true, width: 80,search: true, searchoptions: { searchOperators: true, sopt: ['gt', 'eq','lt'],} },
                        { name: 'Name', width: 150, search: true, sorttype: 'text', searchoptions: { sopt: ['eq', 'bw', 'ew','cn'] } },
                        { name: 'Rank', width: 350, search: true },
                    ],
                    width: 800,
                    rowNum: 100,
                    height: 180,
                    scroll: 1,
                    viewrecords: true,
                    gridview: true,
                    loadonce:false,
                    caption: "Loading data while scrolling",
                    onSelectRow: jqGrid_RowSelectd,
                    emptyrecords:"there are no records to display",
                    pager:"#gridpager"
                });

                $("#jqgrid").filterToolbar({ autosearch: true, searchOperators: true, sopt: ['gt', 'eq'] });
                $("#jqgrid").navGrid('#gridpager', { del: false, add: false, edit: false }, {}, {}, {}, { multipleSearch: true });
            });

person Ein2012    schedule 27.03.2015    source источник


Ответы (1)


Вы можете определить beforeRefresh как вариант navGrid. Итак, вы можете сделать следующее

$("#jqgrid").navGrid('#gridpager', { del: false, add: false, edit: false,
    beforeRefresh: function () {
        var p = $(this).jqGrid("getGridParam");
        p.sortname = "";
        p.sortorder = "asc";
    }
}, {}, {}, {}, { multipleSearch: true });
person Oleg    schedule 27.03.2015
comment
в этом состоянии во время перезагрузки сетки я хочу отключить сортируемые значки, я попытался выбрать их через его (css-класс этих значков) для определенного столбца и скрыть его. Есть ли лучший способ, которым jqgrid предлагает отключить значки сортировки после перезагрузка сетки..@Олег - person Ein2012; 27.03.2015
comment
@Ein2012: Добро пожаловать! Я не уверен, что вы имеете в виду под сортируемыми значками. Если вы используете свойство sortable: false для некоторого столбца, то в столбце не должно быть значка, и курсор будет установлен по умолчанию. Больше ничего делать не нужно, по крайней мере, в бесплатной jqGrid. - person Oleg; 27.03.2015