当前位置:网站首页>新增批量删除
新增批量删除
2022-07-25 16:23:00 【迟早嘚秃】
新增删除和批量删除
前言
这次的组件前面基本都讲过,所以不在分出来一个个讲,直接完善之前项目的不足
增加和删除功能
一、新增
1、添加新增按钮(userManage.jsp)
<a id="btn-add" href="#" class="easyui-linkbutton" data-options="iconCls:'icon-search'">新增</a>
2、给新增按钮添加点击事件
$("#btn-add").click(function() {
//清空之前表单的数据
$('#ff').form('clear');
$("#dd").dialog("open");
addFlag=1;
})
3、var一个变量判断是增加还是修改
因为和修改的窗体是一个,所以需要区分是增加还是修改,变量默认为0,点击修改则为1,点击新增则为0.
var addFlag=0;
4、表单提交的事件
function submitForm() {
/* * 点击确定按钮提交表单到后台,并且是新增/修改共用的一个方法 */
var href=null;
if(addFlag==2){
//修改
href=$("#ctx").val()+'/book.action?methodName=edit'
}else if(addFlag==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');
}
}
});
}
5、写dao方法和web
①、BookDao
// 增加
public void add(Book book) throws Exception {
book.setBid((int)new Date().getTime());
super.executeUpdate("insert into t_mvc_book values(?,?,?)", book, new String[] {
"bid","bname","price"});
}
②、BookAction
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) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
return null;
}
6.页面展示
二.删除
1、单个删除
①、在datagrid添加一列删除
columns:[[ {
field:'ck',checkbox:true}, {
field:'bid',title:'id',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>' }} ]]
②、添加删除的方法
Messager组件并不能直接向后台发送请求,可以使用ajax发送请求
function del() {
var row=$('#dg').datagrid("getSelected");
if(row){
var id=row.bid;
// messager不能向后台发送请求
$.messager.confirm('确认','您确认想要删除记录吗?',function(r){
if (r){
$.ajax({
url:$("#ctx").val()+'/book.action?methodName=del&bid='+id,
success:function(data){
if(data==1){
$('#dg').datagrid('reload');
}
}
});
}
});
}else{
alert("请选择要删除的数据");
}
}
③、dao方法
BookDao
// 删除
public void del(Book book) throws Exception {
super.executeUpdate(“delete from t_mvc_book where bid=?”, book, new String[] {“bid”});
}
④、BookAction
public String del(HttpServletRequest req, HttpServletResponse resp) {
try {
bookDao.del(book);
ResponseUtil.writeJson(resp, 1);
} catch (Exception e) {
e.printStackTrace();
try {
ResponseUtil.writeJson(resp, 0);
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
return null;
}
点击删除时(须选中)
2、批量删除
①、添加批量删除按钮(userManage.jsp)
<a id="btn-batchDel" href="#" class="easyui-linkbutton" data-options="iconCls:'icon-search'">批量操作</a>
②、增加复选框
$('#dg').datagrid({
url:$("#ctx").val()+'/book.action?methodName=datagrid',
pagination:true,
fitColumns:true,
// 添加复选框
checkbox:true,
toolbar: '#tb',
columns:[[
// 设置复选框的列
{
field:'ck',checkbox:true},
{
field:'bid',title:'id',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-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&bids='+ids.join(","),
success:function(data){
if(data==1){
$('#dg').datagrid('reload');
}
}
});
}
});
}
});
~~```
④、修改BookAction代码
```csharp
public String del(HttpServletRequest req, HttpServletResponse resp) {
try {
String ids = req.getParameter("bids");
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) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
return null;
}
⑦、效果
点击确认

OK~~
边栏推荐
- MySQL tutorial 67- filter duplicate data using distinct
- Waterfall flow layout
- Various useful forms of London Silver K-line chart
- mysql 查看是否锁表
- MYSQL导入sqllite表格的两种方法
- 论文笔记:Highly accurate protein structure prediction with AlphaFold (AlphaFold 2 & appendix)
- Gap Locks(间隙锁)
- EMQX Cloud 更新:日志分析增加更多参数,监控运维更省心
- MyBaits
- Breakthrough in core technology of the large humanoid Service Robot Walker x
猜你喜欢

优必选大型仿人服务机器人Walker X的核心技术突破

I interviewed 8 companies and got 5 offers in a week. Share my experience

Equivalent change of resistance circuit (Ⅱ)

fastadmin tp 安装使用百度富文本编辑器UEditor

Product upgrade observation station in June
![[JS advanced] JS regular correlation functions and regular objects_ 02](/img/a0/27bf3f5146a5774eb3167a69d1e3cf.png)
[JS advanced] JS regular correlation functions and regular objects_ 02

Mqtt x cli officially released: powerful and easy-to-use mqtt 5.0 command line tool

Verifiable random function VRF

Understanding service governance in distributed development

今天睡眠质量记录84分
随机推荐
leetcode:6127. 优质数对的数目【位运算找规律 + 两数之和大于等于k + 二分】
Golang review summary
进程之间的通信(管道详解)
一文理解分布式开发中的服务治理
Talk about how to use redis to realize distributed locks?
The second revolution of reporting tools
PageHelper.startPage没有生效问题
[image denoising] image denoising based on bicube interpolation and sparse representation matlab source code
Differences between cookies, cookies and sessions
How to build an enterprise level OLAP data engine for massive data and high real-time requirements?
优必选大型仿人服务机器人Walker X的核心技术突破
MySQL 元数据锁(MDL)
Cookie、cookie与session区别
LVGL 7.11 tileview界面循环切换
从业务需求出发,开启IDC高效运维之路
0x80131500 solution for not opening Microsoft Store
Promise期约
Which led display manufacturer is better
[image hiding] digital image watermarking method technology based on hybrid dwt-hd-svd with matlab code
mysql 表写锁