$('#tb').datagrid({
url: url,
queryParams: p,
fit: true,
border: false,
striped: true,
pagination: true,
rownumbers: true,
singleSelect: false,
checkOnSelect: true,
selectOnCheck: true,
pageSize: 50,
pageList: [50, 100, 150, 200],
columns: cols,
toolbar: '#toolbar',
onLoadSuccess: function (data) {
var ds = data.rows;
$.each(ds, function (i, v) {
if (v.bkap == true) {
$('#tb').datagrid('checkRow', i);
$("input[type='checkbox']")[i + 2].disabled = true;
} else {
$('#tb').datagrid('uncheckRow', i);
}
});
},
onClickRow: function (index, row) {
if (row.bkap == true) {
$('#tb').datagrid('checkRow', index);
return false;
}

},
onUncheckAll: function (rows) {
$.each(rows, function (i, v) {
if (v.bkap == true) {
$('#tb').datagrid('checkRow', i);
}
});
}
});

onLoadSuccess事件中,根据数据源中的条件设置复选框禁止,$(“input[type=‘checkbox’]”)[i + 2]中的2是因为视图中已经有一个复选框,列头还有一个复选框,所以从2开始。
onClickRow事件中,如果字段值符合条件,则始终调用checkRow方法,并return false;取消选择状态
onUncheckAll事件中,如果字段值符合条件,调用checkRow方法选中