easyui datagrid 分页保持checkbox选中状态

时间:2024-11-10 21:06:44

刚开始我一直迷迷糊糊的写了很久,发现其实很简单 先给大家看看我的笨办法

var checkedItems = [];
function ischeckItem() {
for (var i = 0; i < checkedItems.length; i++) {
$('#maingrid').datagrid('selectRecord', checkedItems[i]); //根据id选中行
}
} function findCheckedItem(ID) {
for (var i = 0; i < checkedItems.length; i++) {
if (checkedItems[i] == ID) return i;
}
return -1;
} function addcheckItem() {
var row = $('#maingrid').datagrid('getChecked');
for (var i = 0; i < row.length; i++) {
if (findCheckedItem(row[i].id) == -1) {
checkedItems.push(row[i].id);
}
}
}
function removeAllItem(rows) { for (var i = 0; i < rows.length; i++) {
var k = findCheckedItem(rows[i].id);
if (k != -1) {
checkedItems.splice(i, 1);
}
}
}
function removeSingleItem(rowIndex, rowData) {
var k = findCheckedItem(rowData.id);
if (k != -1) {
checkedItems.splice(k, 1);
}
}

后来发现有个idField的属性,这个属性为了什么作用呢?我查阅了easyui的源代码发现这个就是来区分状态的

在easyui datagrid设置

idField:"主键字段名"
你会发现选中状态就会保持得住,不用做任何编码。

如果这篇文章对您有帮助,您可以打赏我

easyui datagrid 分页保持checkbox选中状态