关于easyUI删除表格中的行后,提示删除成功并重新加载表格的方法
来源:互联网 发布:java中权限控制框架 编辑:程序博客网 时间:2024/06/06 05:40
今天调了好几个小时的这段代码,总是发现可以删除行,但是提示老师提示删除失败,但是数据库中确实删除了,经过debugger的调试,问题出在这:
在删除完数据的时候,我是先加载表格中的数据再用ajax调用后台的checkResult方法查看删除结果的,这就造成了ajax每次都去先调用这个checkResult方法,然后再调用删除数据的方法,所以每次当然会提示删除失败(其实已经删除成功了,只是方法执行的顺序不一样,由于ajax异步的原因),最后通过修改代码,调用ajax带着参数去调用删除的方法就行了
{
text: "删除",
iconCls: "icon-remove",
handler: function () {
var i = 0;
debugger;
$.messager.alert("提示!", "确定删除吗?", "info", function () {
var str_id=null;
var rows = dataG.datagrid('getChecked');
for (var i = 0; i < rows.length; i++) {
str_id += "," + rows[i].User_id;
}
dataG.datagrid("load", { "str_id": str_id}); //修改前的位置
debugger;
$.ajax({ //ajax请求删除结果
type: "post",
url: "/Manage/CheckDelete",
data: { "str_id": str_id },
dataType: "json",
async: false,
success: function (data) {
debugger;
//$.ajaxAlert("提示!", data.Msg);
$.messager.alert("提示!", data.Msg);
},
error: function (data) {
$.messager.alert("提示!", "异常错误");
}
});
dataG.datagrid("load", { }); //修改后的位置
})
}
}
后台代码也变动了:
#region 查询用户信息
public ActionResult ShowUsers()
{
#region 查询用参数
string str_name = string.Empty;
string str_nicheng = string.Empty;
int total;//记录数
int page = 0; //无搜素条件时,当前页
int pagesize = 5; //每页显示条数,取条数
#endregion
//#region 删除用参数
//string str_ds = Convert.ToString(Request.Form["str_id"]);
//if (str_ds!=null) {
// ids = str_ds.Split(',');
// bool deledeflag = UserInfoManager.deleUsers(ids); //修改前在这里调用的业务逻辑层进行的删除
// if (deledeflag) {
// i = 1;
// }
// str_ds = null;
//}
//#endregion
List<UserInfo> listUsers = UserInfoManager.getAllUsersList();
List<UserInfo> listUsersByParams = listUsers; //用于linq查询
if (Request.Form["name"] != null && Request.Form["name"].ToString() != "")
{
str_name = Request.Form["name"].ToString();
listUsersByParams = listUsers.Where(user => user.User_name.Contains(str_name)).ToList(); //linq条件,包含查询
}
if (Request.Form["nicheng"] != null &&Request.Form["nicheng"].ToString()!="")
{
str_nicheng = Request.Form["nicheng"].ToString();
listUsersByParams = listUsersByParams.Where(user => user.User_nicheng.Contains(str_nicheng)).ToList(); //linq条件,包含查询
}
//分页
if (Request.Form["page"] != null && Request.Form["page"].ToString() != "")
{
page = int.Parse(Request.Form["page"]);
}
if (Request.Form["rows"] != null && Request.Form["rows"].ToString() != "")
{
pagesize = int.Parse(Request.Form["rows"]);
}
total = listUsersByParams.Count;
listUsersByParams = listUsersByParams.OrderBy(x => x.User_id).Skip((page-1)*pagesize).Take(pagesize).ToList() ;//跳过当前页,其实是跳过多少条数据,取下一页数据
EasyUiUsersList easyUiUsersList = new EasyUiUsersList
{
total = total,
rows = listUsersByParams,//rows表格中显示的数据
foot = null
};
return Json(easyUiUsersList, JsonRequestBehavior.AllowGet);//允许客户端的所有请求
}
#endregion
修改后:
#region 删除检查
public ActionResult CheckDelete()
{
string[] ids;
string str_ds = Convert.ToString(Request.Form["str_id"]);
if (str_ds!=null) {
ids = str_ds.Split(',');
bool deledeflag = UserInfoManager.deleUsers(ids); //修改后在这里调用的业务逻辑层进行的删除
if (deledeflag) {
str_ds = null;
return OperContext.ajaxToJson(AjaxResultStatu.ok, "删除成功");
}
}
return OperContext.ajaxToJson(AjaxResultStatu.error, "删除失败");
}
#endregion
- 关于easyUI删除表格中的行后,提示删除成功并重新加载表格的方法
- 删除表格的各种方法
- Jquery删除表格某一行后的所有行
- jqgrid--按搜索字段进行搜索并重新加载表格
- sql2005 批量删除表格的一种方法
- 误删除system下的表格方法
- 动态增加,删除表格中的行
- vc删除MSflexgrid表格中的选定行
- 使用javascript删除表格对象中的行
- easyui 数据表格行内编辑(编辑、保存、删除)
- 表格添加、删除行通用方法
- 如何删除表格行????
- 如何删除表格行
- 删除表格行
- jquery删除表格行
- 删除表格
- 删除表格
- 关于删除Ext分页表格最后一页全部数据后页面无效的问题
- spring框架学习(四)自动装配
- PHP获取微信粉丝的OpenID
- springMVC日期转换及The request sent by the client was syntactically incorrect.解决办法
- webdriver-超时与等待
- 简单编程题目连载(八)——最短路径问题
- 关于easyUI删除表格中的行后,提示删除成功并重新加载表格的方法
- Android程序员学PHP开发(13)-简易计算器-PhpStorm
- String...和String[]区别
- 数据库对象命名参考
- zoj1163
- Android StringUtils
- 程设作业(递归判断两个数互质)
- 利用Jexl输出造型为Object实体类的某个变量属性值
- spring框架学习(五)注解