此文爲博主原創內容,轉載請說明出處,歡迎各位批評指點。
最近樓主在自己研究easyui數據網格多行刪除操作,以下爲本人經驗總結,供大家參閱:
多行刪除的思想就是:取到所選中多行的ID進行字符串拼接,傳到後臺對字符串分割,循環進行刪除每一行。
所以說此問題的重點就是解決字符串的分割、拼接。
表格
<div id="dlg" class="easyui-dialog"
style="width: 500px; height: 300px;" title="編輯用戶" iconCls="icon-edit"
closed="true" closable="true">
<s:form id="userForm" action="save" namespace="/testuser">
<s:token />
<s:hidden name="newUser.fuserid" id="newUser_fuserid"/>
<table id="userTable" cellpadding=0 cellspacing=0 border=0
class="ListTable" align="center" style="width: 40%">
<tr>
<td class="EditHead" nowrap><font color=red>*</font> 用戶賬號</td>
<td class="editTd"><input class ="noborder
easyui-validatebox" data-options="required:true,validType:'length[1,50]'"
type="text" name="newUser.floginname" id='newUser_floginname'
maxlength="255" title="用戶賬號" /></td>
</tr>
<tr>
<td class="EditHead" nowrap><font color=red>*</font> 用戶名稱</td>
<td class="editTd"><input class="noborder easyui-validatebox"
data-options="required:true,validType:'length[1,50]'" type="text"
name="newUser.fname" id='newUser_fname' maxlength="255"
title="用戶名稱" /></td>
</tr>
</table>
</s:form>
</div>
js方法:
<script type="text/javascript">
$(document).ready(function(){
var editIndex = undefined;
$('#userTable').datagrid({
url:'${contextPath}/testuser/queryUser.action?querySource=123',
rownumbers:true,
pagination:true,
fitColumns:true,
fit:true,
idField:'fuserid',
singleSelect:false, //此處不能忘記改爲false,否則不能多選
striped:true,
pageSize:10,
toolbar:[{
id:'delUser',
text:'刪除',
iconCls:'icon-remove',
handler:function(){
var selectRows = $('#userTable').datagrid('getChecked');
if(selectRows.length == 0){
showMessage1('請選擇要刪除的用戶!');
return;
}
var fuserids = [];
for (var i = 0; i < selectRows.length; i++) {
fuserids += selectRows[i].fuserid + ","; //把fuserid(字符串類型)以“,”拼接
}
fuserids = fuserids.substr(0, fuserids.length - 1); //去掉最後一個“,”
//alert(fuserids);
if (confirm('確定刪除嗎?')) {
window.location.href="${contextPath}/testuser/delUser.action?fuserids="+fuserids;
return true;
} else {
return false;
}
}
}
]
columns:[[
{field:'fuserid',checkbox:true},
{field:'floginname',title:'用戶賬號',sortable:true, width:100},
{field:'fname',title:'用戶姓名', width:100,
editor:{type:'validatebox',options:{required:true}}
},
{field:'fdepname',title:'所在單位', width:100},
{field:'fsex',title:'性別', width:100},
]]
});
});
</script>
後臺代碼:
public String delete() {
String fuserids = this.getRequestParameter("fuserids"); //接受拼接後的字符串(id)
//System.out.println(fuserids);
String[] delFuserids = fuserids.split(","); //分割字符串
for (int i = 0; i < delFuserids.length; i++) { //每次循環刪除一行
newUser = (UUser) this.testUserService.get(UUser.class,delFuserids[i]);
if (newUser != null) {
testUserService.delete(newUser);
}
}
return SUCCESS;
}
```