- 实现datagrid的批量删除事件,首先要给其添加一个CheckBox,实现jsp页面的设计
<th data-options="field:'ck',checkbox:true"></th>
//这里写了个单元格formatter(格式化器)函数去获得当前选中行的所有信息;
<th dataoptions="field:'operation',width:120,formatter:formatOper">操作</th>
- 1
- 2
- 3
- 4
- 接下来通过JS来实现删除的点击事件
var formatOper = function(val, row, index) {
'<a href="#" class="easyui-linkbutton easyui-tooltip margin-left-5" title="删除" data-options="plain:true" onclick="remove(' row.id ');"><span class="l-btn-left l-btn-icon-left"><span class="l-btn-text blue">删除</span><span class="l-btn-icon icon-remove"> </span></span></a>';//对单元格函数进行定义与样式设计;
}
- 1
- 2
- 3
//实现formatter定义的删除点击事件;
remove : function(id){
var ids = [];
if(typeof id !=="undefined"){
ids.push(id);
}else{
var Obj = $('#dataGrid').datagrid('getChecked');//获得选中行数据;
if(planObj.length === 0){
$.messager.alert("删除错误", "请至少选择一条记录!", 'error');
return;
}
for(var i = 0;i< Obj.length;i ){
ids.push(planObj[i].id);
}
}if(ids.length > 0){
$.messager.confirm("提示","确定要删除此条信息",function(r){
if (r){
Loading.start();
$.ajax({
url: 'url',
data : {
ids : ids.join(",") //加个逗号,分割id;
},
success: function(result) {},
error: function(result) {}
});
}
}
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 当jsp与js设计完成后,就要通过后台接收id,并将其删除:
if (StringUtil.isNotEmpty(ids)) {
String[] idArr = ids.split(",");
boolean f = false;
for (String id : idArr) {
f = service.deleteById(Integer.valueOf(id));
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
//通过以上简单的三步就完成了datagrid的批量删除操作。