我的JqGrid代码如下所示
$('#grid').jqGrid({
url: '',
scroll: 1,
postData: {
...
},
datatype: "json",
mtype: 'POST',
colNames: [....],
colModel: [{
name: 'source',
index: 'source',
width: '100',
align: 'center',
stype: 'select',
searchoptions: {
dataUrl: 'getSource'
}
}, { ...
}],
rowNum: 200,
height: '450px',
autowidth: false,
shrinkToFit: true,
rownumbers: true,
pager: '#table-page',
sortname: '...',
viewrecords: true,
sortorder: 'asc',
caption: "Records",
emptyrecords: "Empty records",
loadonce: false,
loadComplete: function() {
....
},
jsonReader: {
....
}
});
当我慢慢滚动网格并达到200时,网格重新加载,但视图显示2000年的视图1-400。
如果我继续慢慢滚动,那么我会看到2000年的1-600页。
我们还可以在演示http://www.trirand.com/blog/jqgrid/jqgrid.html中看到 - > 3.7的全新内容 - >真实滚动并看到相同的错误。
有人可以建议我一个解决方法。
答案 0 :(得分:1)
它按设计工作...如果你慢慢滚动它会向表中添加记录 - 所以你可以向上滚动并且数据仍然存在 - 如果你快速滚动,当前数据被删除,只有新数据被添加使用在与滚动位置匹配的起始点指定的行数
答案 1 :(得分:1)
如果需要,您可以使用viewrecords
选项关闭号码:
viewrecords: false
jqGrid documentation有更多详情:
如果为true,则jqGrid会在查询中的记录总数中显示网格中的开始和结束记录编号。此信息以此格式显示在寻呼机栏中(默认情况下右下方):“从Z中查看X到Y”。如果此值为true,则可以调整其他参数,包括emptyrecords和recordtext。
答案 2 :(得分:0)
这是我的代码:删除旧数据但保持滚动位置:
beforeProcessing: function(data, status, xhr){
// Prevent from loading duplicate data
var firstId = data.rows[0].id;
if (-1 != $("#"+firstId ).index()){
return false;
}
// Keep scroll position
$.scrolltop = $(this).closest(".ui-jqgrid-bdiv").scrollTop();
// Clear old data -> This will make scroll position to zero
$(this).jqGrid('clearGridData', true);
// Show white Div portion
$(this).parent().children('div').eq(0).show();
},
loadComplete: function (data) {
// Set height of white Div portion
$(this).parent().children('div').eq(0).height($.scrolltop);
// Re-set scroll position
$(this).closest(".ui-jqgrid-bdiv").scrollTop($.scrolltop);
}