今天在开发系统EasyUI后台系统的问题的时候,遇到了增加数据多选的功能。
实现数据多选,需要设置singleSelect属性为false。
$('#ID').datagrid({
title: '标题',
loadMsg: '数据加载中请稍后……',
url: '__URL__/json',
fit: true,
fitColumns: true,//是否自动充满全屏
singleSelect: false,//是否单选
pagination: true,//分页控件
rownumbers: true,//行号
columns: [[
{field: 'checkbox', checkbox: true },
{field: 'name', title: '项目名称', width: 100, align: 'center'}
]],
toolbar: '#ToolBar'
});
经过以上的设置,就能实现了多选、checkbox的勾选样式。
var obj = $('#ID').datagrid('getSelections');
通过obj.length,可以判断多选的数据条数。
批量删除方法:
java代码示例:
$("#delBtn").bind("click", function() {
// 得到选中的行
//var selRow = otGrid.datagrid("getSelected");//返回选中一行 这个是注释过的 就是取一个
var selRow = otGrid.datagrid("getSelections");//返回选中多行
if(selRow.length==0){
alert("请至少选择一行数据!");
return false;
}
var ids=[];
for (var i = 0; i < selRow.length; i++) {
//获取自定义table 的中的checkbox值
var id=selRow[i].OTRECORDID; //OTRECORDID这个是你要在列表中取的单个id
ids.push(id); //然后把单个id循环放到ids的数组中
}
if(confirm("确定要删除选中的超温记录吗?")){
$.getJSON("${CTX_ROOT}/TOtrecordsController?method=removeTOtrecordsPOList",
{"array[]":ids}, //这一处,传过去的值一定要是变量名[] 例如:array[] ,把ids这个数组传到后台
function(data){
alert(data.msg); //这个是后台返回过来的msg值,提醒
if(1 == data.code){// 删除成功,则需要在树中删除节点
// 检修任务grid 执行load
otGrid.datagrid("reload"); /重新加载
}
});
}
});