二、批量删除

逻辑删除取派员,将取派员的deltag改为“1”

1. 为“作废”按钮绑定事件

//批量删除取派员
function doDelete(){
//获得选中的行
var rows = $("#grid").datagrid("getSelections");
if(rows.length == 0){
//没有选中,提示
$.messager.alert("提示信息","请选择需要删除的记录!","warning");
}else{
var array = new Array();
//选中了记录,获取选中行的id
for(var i=0;i<rows.length;i++){
var id = rows[i].id;
array.push(id);
}
var ids = array.join(",");//1,2,3,4
//发送请求,传递ids参数
window.location.href = '${pageContext.request.contextPath}/staffAction_delete.action?ids='+ids;
}
}

2. 在StaffAction中提供ids属性和set方法,delete方法批量删除

//接收ids参数
private String ids;
public void setIds(String ids) {
this.ids = ids;
} /**
* 批量删除功能(逻辑删除)
* @return
*/
public String delete(){
staffService.deleteBatch(ids);
return "list";
}

3. 在service中提供批量删除方法

/**
* 批量删除
*/
public void deleteBatch(String ids) {
String[] staffIds = ids.split(",");
for (String id : staffIds) {
staffDao.executeUpdate("staff.delete", id);
}
}

4. 在Staff.hbm.xml中定义更新语句

 <query name="staff.delete">
UPDATE Staff SET deltag = '1' WHERE id = ?
</query>

三、 取派员信息修改功能(双击弹出与提交相同的窗口,直接在原数据基础上进行修改)

1. 复制添加取派员窗口,获得修改的窗口

    <!-- 修改窗口 -->
<div class="easyui-window" title="对收派员进行添加或者修改" id="editStaffWindow" collapsible="false"
minimizable="false" maximizable="false" style="top:20px;left:200px">
<div region="north" style="height:31px;overflow:hidden;" split="false" border="false" >
<div class="datagrid-toolbar">
<a id="edit" icon="icon-save" href="#" class="easyui-linkbutton" plain="true" >保存</a>
<script type="text/javascript">
$(function(){
//绑定事件
$("#edit").click(function(){
//校验表单输入项
var v = $("#editStaffForm").form("validate");
if(v){
//校验通过,提交表单
$("#editStaffForm").submit();
}
});
});
</script>
</div>
</div> <div region="center" style="overflow:auto;padding:5px;" border="false">
<form id="editStaffForm" action="${pageContext.request.contextPath }/staffAction_edit.action"
method="post">
<input type="hidden" name="id">
<table class="table-edit" width="80%" align="center">
<tr class="title">
<td colspan="2">收派员信息</td>
</tr> <tr>
<td>姓名</td>
<td><input type="text" name="name" class="easyui-validatebox" required="true"/></td>
</tr>
<tr>
<td>手机</td>
<td><input type="text" name="telephone" class="easyui-validatebox" required="true"
data-options="validType:'phonenumber'"
/></td>
</tr>
<tr>
<td>单位</td>
<td><input type="text" name="station" class="easyui-validatebox" required="true"/></td>
</tr>
<tr>
<td colspan="2">
<input type="checkbox" name="haspda" value="1" />
是否有PDA</td>
</tr>
<tr>
<td>取派标准</td>
<td>
<input type="text" name="standard" class="easyui-validatebox" required="true"/>
</td>
</tr>
</table>
</form>
</div>
</div>

2. 修改datagrid的双击行事件的处理函数

//双击事件处理函数
function doDblClickRow(rowIndex, rowData){//{id:xxx,name:xx,}
$('#editStaffWindow').window("open");//打开修改窗口
$("#editStaffForm").form("load",rowData); //将表单数据显示在框中
}

3. 在StaffAction中提供edit方法,修改取派员信息(将提交表单数据封装到model,然后再覆盖staff)

      /**
* 修改取派员信息
*/
public String edit(){
//显查询数据库中原始数据
Staff staff = staffService.findById(model.getId());
//再按照页面提交的参数进行覆盖
staff.setName(model.getName());
staff.setTelephone(model.getTelephone());
staff.setStation(model.getStation());
staff.setHaspda(model.getHaspda());
staff.setStandard(model.getStandard());
staffService.update(staff);
return "list";
}

点击提交之后,调用edit方法,将数据封装到model并覆盖staff

SSH——增删改的实现二的更多相关文章

  1. abp(net core)+easyui+efcore实现仓储管理系统——ABP WebAPI与EasyUI结合增删改查之一(二十七)

    abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...

  2. 通过JDBC进行简单的增删改查(二)

    本章笔记更易理解和学习,也是我第一次初学的笔记. package javastudy; import java.sql.Connection; import java.sql.DriverManage ...

  3. Mybatis实例增删改查(二)

    创建实体类: package com.test.mybatis.bean; public class Employee { private Integer id; private String las ...

  4. 基本 SQL 之增删改查(二)

    上一篇文章中,我们介绍了 SQL 中最基本的 DML 语法,包括 insert 的插入数据.update 的更新数据.delete 的删除数据以及基本的查询语法,但大多比较简单不能解决我们日常项目中复 ...

  5. springboot整合mybatis增删改查(二):springboot热部署

    SpringBoot整合热部署 传统情况下, 我们用idea运行springboot程序时, 如果我们需要修改类里的方法,或者其他信息 我们需要修改完保存,并且重启springboot,有时候会很浪费 ...

  6. SSH——增删改的实现一

    在上一节介绍了关于BOS项目底层的查询操作,接下来介绍一下curd里的其他三项操作步骤 一. 取派员添加 利用easyui在staff.jsp页面里构造添加页面(相关JavaBean创建步骤省略) & ...

  7. Mybatis实现增删改查(二)

    1. 准备 请先完成Mybatis基本配置(一)的基本内容 2. 查询多条商品信息 1)在com.mybatis.dao.PartDao中增加接口函数 public List<PartInfo& ...

  8. MYSQL 之 JDBC(四): 增删改查(二)通过ResultSet执行查询操作

    /** * ResultSet:结果集.封装了使用JDBC进行查询的结果. * 1. 调用Statement对象的executeQuery(sql)方法 * 2. ResultSet返回的实际上就是一 ...

  9. mybatis实现MySQL数据库的增删改查之二

    这里直接附上代码: 1 package com.qijian.pojo; 2 3 import org.apache.ibatis.type.Alias; 4 5 6 public class Use ...

随机推荐

  1. 【互动问答分享】第7期决胜云计算大数据时代Spark亚太研究院公益大讲堂

    “决胜云计算大数据时代” Spark亚太研究院100期公益大讲堂 [第7期互动问答分享] Q1:Spark中的RDD到底是什么? RDD是Spark的核心抽象,可以把RDD看做“分布式函数编程语言”. ...

  2. POJ 2018 Best Cow Fences

    斜率优化. 设$s[i]$表示前缀和,$avg(i,j)=(s[j]-s[i-1])/(j-(i-1))$.就是$(j,s[j])$与$(i-1,s[i-1])$两点之间的斜率. 如果,我们目前在计算 ...

  3. HDFS API 学习:几个常用的API

    1.Hadoop-1.2.1 API 文档:http://hadoop.apache.org/docs/r1.2.1/api/ 2.几个API: create(Path f) :Opens an FS ...

  4. Eclipse Build all and build project not working - jar missing

    Eclipse Build all and build project not working - jar missing

  5. Axis2 解析

    代码生成    Java to WSDL:WSDL to Java:XSD to WSDL:WSDL to XML:WSDL to SOAP:WSDL to Service: Apache Axis2 ...

  6. Spoj Query on a tree III

    题目描述 给出N个点的一棵树(N-1条边),节点有白有黑,初始全为白 有两种操作: 0 i : 改变某点的颜色(原来是黑的变白,原来是白的变黑) 1 v : 询问1到v的路径上的第一个黑点,若无,输出 ...

  7. UVA 10160 Servicing Stations(状态压缩+迭代加深)

    [题目链接] LInk [题目大意] 给出一些点和边,选择一个点就能把这个点和相邻的点都覆盖,求最小点覆盖 [题解] 我们压缩点被覆盖的状态,迭代加深搜索覆盖的最小点数, 当剩余的点全部选上时都无法完 ...

  8. [LOJ6436]神仙的游戏

    感觉border的性质还是挺神奇的 一个border的性质是$S$有长度为$len$的border当且仅当对$\forall i\equiv j\left(\bmod(n-len)\right)$有$ ...

  9. 【Trie+DP】BZOJ1212-[HNOI2004]L语言

    [题目大意]给出字典和文章,求出文章能够被理解的最长前缀. [思路] 1A……!先用文章建立一棵Trie树,然后对于文章进行DP.f[i]表示文章中长度为i的前缀能否被理解,如果f[i]能理解,顺着下 ...

  10. vsftpd修改被动模式数据端口

    pasv_enable=YES pasv_min_port=10000 pasv_max_port=20000 我厂只限一个端口段通讯,只能这样改下,否则永远是列出目录失败