一.新增
①.添加新增按钮(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> <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> <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');
}
}
});
}