二、批量删除

逻辑删除取派员,将取派员的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

最新文章

  1. arcengine中自定义工具和自带工具条(ICommand)点击后和其他工具使用的冲突
  2. JavaScript通过ID获取元素坐标
  3. 笔记本双系统XP与Ubuntu,重装XP后如何恢复grup引导,另附操作系统启动过程
  4. Hibernate &lt;二级缓存&gt;
  5. win7删除IE图标方法-----(注册表找不到对应的IE项)
  6. bzoj2096
  7. Notepad++背景颜色设置
  8. yum no key
  9. Team Services的打包管理
  10. Hdoj 1232.畅通工程 题解
  11. k8s 使用
  12. 数值分析之Neville&#39;s Algorithm
  13. MDX 查询原型
  14. HDU 4498 Function Curve (自适应simpson)
  15. Spark 基于物品的协同过滤算法实现
  16. MySQL的用户账户管理
  17. Hadoop源码如何查看
  18. MergeSortedArray,合并两个有序的数组
  19. 基于 OpenResty 的动态服务路由方案
  20. thinkphp的使用——隐藏index.php

热门文章

  1. swipper插件引起的a链接失效问题
  2. [scrapy] spider object has no attribute &#39;_rules&#39;
  3. BZOJ 1036: [ZJOI2008]树的统计Count-树链剖分(点权)(单点更新、路径节点最值、路径求和)模板,超级认真写了注释啊啊啊
  4. 【kd-tree】bzoj3489 A simple rmq problem
  5. [CF321C]Ciel the Commander
  6. 计算数字出现的次数 Exercise07_03
  7. C#SerialPort实现串口控制继电器
  8. 【R笔记】给R加个编译器——notepad++
  9. Java高级架构师(一)第24节:加入ehcache,把工程加入到Git
  10. iOS开发技巧&mdash;&mdash;关闭Autoresizing开启Autolayout