使用滚动重新加载jqgrid时出现问题:true,启动多个Ajax调用来加载数据
问题描述:
我的页面上有一个jqgrid,它在初始化时加载数据的第一页。如果有更多页面,则会出现滚动。使用滚动重新加载jqgrid时出现问题:true,启动多个Ajax调用来加载数据
问题是,如果我向下滚动查看第二个页面,然后使用更新的url触发reloadGrid,它实例化两个具有不同页码(1和2)的ajax调用。
结果,网格加载了针对每个调用返回的重复数据。
上面的问题没有出现,如果我没有向下滚动第一次加载。
的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
任何机构都有任何想法为什么发生?
答
我曾尝试在jqGrid的创建脚本下面的参数,它解决了上述问题:
组参数的scroll:1
代替scroll:true
再加入新的参数prmNames:{npage:1}
参考:jqGridWiki:options节:prmNames,滚动
+0
这解决了我的问题,在滚动到第2+页并应用搜索过滤器后重置当前页面。谢谢! –
在“jQuery(”#myGrid“)。jqGrid('setGridParam',{url:newURL,datatype:'json'})。trigger(”reloadGrid“,[{page:1}]);”删除[{page:1}]并使用reloadGrid。我认为这会起作用。 –
我试过从'trigger(“reloadGrid”,[{page:1}])''中移除'[{page:1}]'',但它没有解决问题。 –