Проблема при перезагрузке jqgrid с помощью scroll: true, инициирует несколько вызовов ajax для загрузки данных - PullRequest
1 голос
/ 20 сентября 2011

На моей странице есть jqgrid, который загружает первую страницу данных во время инициализации.Прокрутка появляется, если есть еще страницы.

Проблема в том, что если я прокручиваю вниз, чтобы увидеть вторую страницу, а затем запускаю reloadGrid с обновленным URL, он создает два вызова ajax с другой страницей.номер (1, затем 2).

В результате в сетку загружаются повторяющиеся данные, возвращаемые при каждом вызове.

Приведенная выше проблема не появилась, если я не прокрутил вниз сначалаload.

Код создания jqGrid:

$("#myGrid").jqGrid({ 
    url: 'test.do',
    datatype: 'json',
    mtype: 'POST',
    colNames: ['', 'Item No.', 'HS Code', 'Goods Description', 'Quantity', 'Value', ''], 
    colModel: [{name:'itemId',       index:'itemId',       hidden:true},
               {name:'itemNo',       index:'itemNo',       width:100, align:'center', sortable:false}, 
               {name:'hsCode',       index:'hsCode',       width:100, align:'center', sortable:false}, 
               {name:'goodsDesc',    index:'goodsDesc',    width:350, align:'left',   sortable:false},
               {name:'itemQuantity', index:'itemQuantity', width:110, align:'right',  sortable:false},
               {name:'itemValue',    index:'itemValue',    width:110, align:'right',  sortable:false},
               {name:'action',       index:'action',       width:60,  align:'center', sortable:false}],
    width: 1000,
    height: 230,
    rowNum: 10,
    shrinkToFit: false,
    viewrecords: true,
    emptyrecords: "No Record Found.",
    multiselect: false, 
    scroll: true,
    jsonReader: {repeatitems:false, id:"0"}
});

Код для перезагрузки сетки с новым URL:

newURL = 'test.do?itemNo=3';
jQuery("#myGrid").jqGrid('setGridParam',{url:newURL,datatype:'json'}).trigger("reloadGrid",[{page:1}]);

AJAX вызывает после перезагрузки:

http://abc.com/test.do?itemNo=3&page=1
http://abc.com/test.do?itemNo=3&page=2

Любое тело знает, почему это происходит ??

1 Ответ

1 голос
/ 21 сентября 2011

Я пробовал следующие параметры в скрипте создания jqgrid, и это решило вышеуказанную проблему:

установить параметр scroll:1 вместо scroll:true затем добавьте новый параметр prmNames:{npage:1}

Ссылка: jqGridWiki: параметры в разделе: prmNames, scroll

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