essyui實現多行刪除
阿新 • • 發佈:2018-11-02
此文為博主原創內容,轉載請說明出處,歡迎各位批評指點。
多行刪除的思想就是:取到所選中多行的ID進行字串拼接,傳到後臺對字串分割,迴圈進行刪除每一行。
所以說此問題的重點就是解決字串的拼接、分割。
JSP:
<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 + ","; //字串以“,”拼接 } 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; } } } ], onClickCell:function(index,field,value){ if(field == 'fname'){ $('#userTable').datagrid('beginEdit',index); if(editIndex != undefined){ $('#userTable').datagrid('endEdit',editIndex); } if(editIndex != index){ editIndex = index; } } }, 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; } ```