На моей странице есть 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
Любое тело знает, почему это происходит ??