datagrid之新增与删除

一.新增

①.添加新增按钮(userManage.jsp)

 <a id="btn-add" href="#" class="easyui-linkbutton" data-options="iconCls:'icon-search'">新增</a>

②.添加点击事件弹出窗体(book.js)

	
	$("#btn-add").click(function(){
		//先清空表单数据
		$('#ff').form('clear');
		//在打开窗体
		$("#dd").dialog("open")
		Flag=1;
		
	});

 ③.提交表单

function submitForm(){
	//点击确定按钮提交表单到后台,并且是新增/修改共用一个方法
	//获取选择的数据
	var row=$('#dg').datagrid("getSelected");
	var href=null;
	if(Flag==2){
		href=$("#ctx").val()+'/book.action?methodName=edit'
	}else if(Flag==1){
		href=$("#ctx").val()+'/book.action?methodName=add'
	}
	$('#ff').form('submit', {
		   url:href,
		success: function(data){
			if(data==1){
//关闭窗体
				$("#dd").dialog("close");
//刷新数据
				$('#dg').datagrid('reload');
			}
		}
	});

二.删除

1.单个删除

①.在datagrid添加一列删除

 {field:'操作',title:'操作',width:100,align:'right',formatter: function(value,row,index){
				return '<a href="javascript:void(0);" onclick="edit();">修改</a>&nbsp<a href="javascript:void(0);" onclick="del();">删除</a>';
			}
} 

②.添加删除的方法

function del(){
	var row=$('#dg').datagrid("getSelected");
	if(row){
		var id=row.bid;
		//messager不能直接向后台发送请求  所有要用ajax
		$.messager.confirm('确认','您确认想要删除记录吗?',function(r){    
		    if (r){    
		         $.ajax({
		        	 url:$("#ctx").val()+'/book.action?methodName=del&bid='+id,
		        	 success: function(data){
		     			if(data==1){
		     				$("#dd").dialog("close");
		     				$('#dg').datagrid('reload');
		     			}
		     		}
		         })
		    }    
		});  
	}else{
		alert("请选择删除的行数")
	}

}

 运行结果如下:

2.批量删除

①.添加批量删除按钮(userManage.jsp)

<a id="btn-batchDel" href="#" class="easyui-linkbutton" data-options="iconCls:'icon-search'">批量删除</a>

②.添加一个批量删除的点击事件

$("#btn-batchDel").click(function(){
		var rows=$('#dg').datagrid("getSelections");
		var ids=new Array()
		if(rows !=null && rows.length >0){
			for(var i in rows){
				ids.push(rows[i].bid);	
			}
		}
		if(ids.length >0 ){
			$.messager.confirm('确认','您确认想要删除吗?',function(r){    
			    if (r){    
			         $.ajax({
			        	 url:$("#ctx").val()+'/book.action?methodName=del&bid='+ids.join(","),
			        	 success: function(data){
			     			if(data==1){
			     				$("#dd").dialog("close");
			     				$('#dg').datagrid('reload');
			     			}
			     		}
			         })
			    }    
			});
			
		}
		
	});
	 

运行结果如下:

3.BookDao

package com.zy.dao;

import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.fasterxml.jackson.databind.ObjectMapper;
import com.zking.util.BaseDao;
import com.zking.util.PageBean;
import com.zking.util.StringUtils;
import com.zy.entity.Book;

public class BookDao extends BaseDao<Book>{
	
	public void add( Book book) throws Exception {
		book.setBid((int)new Date().getTime());
		String sql="insert into t_mvc_book values(?,?,?)";
		super.executeUpdate(sql, book, new String[] {"bid","bname","price"});
	}
	
	public void del( Book book) throws Exception {
		
		String sql="delete from t_mvc_book where bid=?";
		super.executeUpdate(sql, book, new String[] {"bid"});
	}
	
	

}

4.BookAction

package com.zy.web;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.jasper.tagplugins.jstl.core.ForEach;

import com.fasterxml.jackson.databind.ObjectMapper;
import com.zking.framework.ActionSupport;
import com.zking.framework.ModelDriver;
import com.zking.util.PageBean;
import com.zking.util.R;
import com.zking.util.ResponseUtil;
import com.zy.dao.BookDao;
import com.zy.entity.Book;

public class BookAction extends ActionSupport implements ModelDriver<Book>{
	private Book book=new Book();
	private BookDao bookDao=new BookDao();
	
	
	public String add(HttpServletRequest req, HttpServletResponse resp)  {
		try {
			bookDao.add(book);
			ResponseUtil.writeJson(resp,1);
		} catch (Exception e) {
			e.printStackTrace();
			try {
				ResponseUtil.writeJson(resp,0);
			} catch (Exception e1) {
			
				e1.printStackTrace();
			}
		}
		return null;
	}
	
	
	
	public String del(HttpServletRequest req, HttpServletResponse resp)  {
		try {
			String ids = req.getParameter("bid");
			String[] split = ids.split(",");
			for (String s : split) {
				book.setBid(Integer.parseInt(s));
				bookDao.del(book);
			}
		
		
			ResponseUtil.writeJson(resp,1);
		} catch (Exception e) {
			e.printStackTrace();
			try {
				ResponseUtil.writeJson(resp,0);
			} catch (Exception e1) {
			
				e1.printStackTrace();
			}
		}
		return null;
	}
	
	
	public Book getModel() {
		
		
		return  book;
	}

	
	
}

5.book.js文件


var Flag=0;
$(function(){

	$('#dg').datagrid({    
	    url:$("#ctx").val()+'/book.action?methodName=datagrid',
	    pagination:true,
	    fitColumns:true,
	    checkbox:true,
	    columns:[[    
	    	  {field:'ck',checkbox:true},    
	        {field:'bid',title:'代码',width:100},    
	        {field:'bname',title:'名称',width:100},    
	        {field:'price',title:'价格',width:100},   
	        {field:'操作',title:'操作',width:100,align:'right',formatter: function(value,row,index){
				return '<a href="javascript:void(0);" onclick="edit();">修改</a>&nbsp<a href="javascript:void(0);" onclick="del();">删除</a>';
			}
} 
	    ]]    
	});  
	
	$("#btn-search").click(function(){
		$('#dg').datagrid('load', {    
		    bname: $("#bname").val(),    
		  
		}); 
	})
	
	$("#btn-add").click(function(){
		//先清空表单数据
		$('#ff').form('clear');
		//在打开窗体
		$("#dd").dialog("open")
		Flag=1;
		
	});
	
	$("#btn-batchDel").click(function(){
		var rows=$('#dg').datagrid("getSelections");
		var ids=new Array()
		if(rows !=null && rows.length >0){
			for(var i in rows){
				ids.push(rows[i].bid);	
			}
		}
		if(ids.length >0 ){
			$.messager.confirm('确认','您确认想要删除吗?',function(r){    
			    if (r){    
			         $.ajax({
			        	 url:$("#ctx").val()+'/book.action?methodName=del&bid='+ids.join(","),
			        	 success: function(data){
			     			if(data==1){
			     				$("#dd").dialog("close");
			     				$('#dg').datagrid('reload');
			     			}
			     		}
			         })
			    }    
			});
			
		}
		
	});
	 
})


function edit(){
	Flag=2;
	//dialog对话框窗口的方法扩展自window(窗口)
 	$("#dd").dialog("open")
/* 	将选中的数据表格对应的数据填写到表单中
 * 1.datagrid控件获取对应的数据
 * 2.对应的行数据row填写到form控件
 * 
*/
 	var row=$('#dg').datagrid("getSelected");
 	//要与form表单的name属性相对应,否则无法填充数据
 	$('#ff').form('load',row);
}


function del(){
	var row=$('#dg').datagrid("getSelected");
	if(row){
		var id=row.bid;
		//messager不能直接向后台发送请求  所有要用ajax
		$.messager.confirm('确认','您确认想要删除记录吗?',function(r){    
		    if (r){    
		         $.ajax({
		        	 url:$("#ctx").val()+'/book.action?methodName=del&bid='+id,
		        	 success: function(data){
		     			if(data==1){
		     				$("#dd").dialog("close");
		     				$('#dg').datagrid('reload');
		     			}
		     		}
		         })
		    }    
		});  
	}else{
		alert("请选择删除的行数")
	}

}


function submitForm(){
	//点击确定按钮提交表单到后台,并且是新增/修改共用一个方法
	//获取选择的数据
	var row=$('#dg').datagrid("getSelected");
	var href=null;
	if(Flag==2){
		href=$("#ctx").val()+'/book.action?methodName=edit'
	}else if(Flag==1){
		href=$("#ctx").val()+'/book.action?methodName=add'
	}
	$('#ff').form('submit', {
		   url:href,
		success: function(data){
			if(data==1){
				$("#dd").dialog("close");
				$('#dg').datagrid('reload');
			}
		}
	});

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值