1. 程式人生 > >essyui實現多行刪除

essyui實現多行刪除

此文為博主原創內容,轉載請說明出處,歡迎各位批評指點。
多行刪除的思想就是:取到所選中多行的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;
	}
	```