jqgrid 翻页记录选中行

时间:2023-03-09 19:33:29
jqgrid 翻页记录选中行

简单的jqgrid列表

$("#list").jqGrid({
url:contextPath + "/getList",
postData: data,
datatype:"json",
colNames : [ '用户名','密码'],
colModel : [ {
name : 'name',
index : 'name',
align : 'center'
}, {
name : 'psw',
index : 'psw',
align : 'center'
}],
rownumbers : true,
viewrecords : true,
multiselect : true,
rowNum : ,
pager : $('#gridPager')
});

分页后每次翻页都会丢掉之前选中行的记录

jqgrid 翻页记录选中行

设置全局变量

var SelectList = []//(用于记录被选中的行)

onSelectAll: function (aRowids, status) {
if (status) {
for (var i = ; i < aRowids.length; i++) {
if (SelectList.indexOf(aRowids[i]) == -) {//每一次勾选时,检查该行是否在SelectList中,
//若在,则在SelectList中删除该记录
//(翻页也会触发onselect事件,所以需检查该行是否在unselects中)
SelectList.push(aRowids[i]);
}
}
} else {
for (var i = ; i < aRowids.length; i++) {
if (SelectList.indexOf(aRowids[i]) > -) {//每一次勾选时,检查该行是否在SelectList中,
//若在,则在SelectList中删除该记录
//(翻页也会触发onselect事件,所以需检查该行是否在unselects中)
SelectList.splice($.inArray(aRowids[i], SelectList), )
}
}
}
},
gridComplete: function () {
var ids = $("#grid-table").jqGrid('getDataIDs');
for (var i = ; i < ids.length; i++) {
if ((SelectList.indexOf(ids[i]) > -)) {
$("#grid-table").jqGrid('setSelection', ids[i]);
}
}
},
onSelectRow: function (rowid, status) {
if (status) { // 每一次取消选中时,将该行id添加到SelectList中
if (SelectList.indexOf(rowid) == -) {//每一次勾选时,检查该行是否在SelectList中,
//若在,则在SelectList中删除该记录
//(翻页也会触发onselect事件,所以需检查该行是否在unselects中)
SelectList.push(rowid);
}
} else {
if (SelectList.indexOf(rowid) > -) {//每一次勾选时,检查该行是否在SelectList中,
//若在,则在SelectList中删除该记录
//(翻页也会触发onselect事件,所以需检查该行是否在unselects中)
SelectList.splice($.inArray(rowid, SelectList), )
}
}
},