Jquery easyui datagrid 删除多行问题
http://www.cnblogs.com/Dtscal/archive/2012/07/04/2576639.html
最近模仿了刘冬大哥的<开源框架完美组合之Spring.NET + NHibernate + ASP.NET MVC + jQuery + easyUI 中英文双语言小型企业网站Demo>之后发现一个问题就是前台datagrid如果删除多行之后,然后再编辑就不能进入对应的行信息.如图:
前台选择多行->删除
删除成功
这里变成了删除的编码,
前台代码
<script type="text/javascript"> $(function () { $('#test').datagrid({ title: '风格信息', iconCls: 'icon-save', fit: true, nowrap: false, striped: true, //collapsible: true, url: '/GenerManage/LoadAllByPage/', sortName: 'GenreId', remoteSort: false, idField: 'GenreId', frozenColumns: [[ { field: 'ck', checkbox: true } ]], columns: [[ { field: 'GenreId', title: '编码', width: '80', align: 'center' }, { field: 'Name', title: '名称', width: '200', align: 'left' }, { field: 'Desctiption', title: '描述', width: '350', align: 'left' } ]], pagination: true, rownumbers: true, toolbar: [{ id: 'btnadd', text: '添加', iconCls: 'icon-add', handler: function () { this.href = '/GenerManage/View/'; } }, { id: 'btnupdate', text: '修改', iconCls: 'icon-save', handler: function () { var rows = $('#test').datagrid('getSelected'); if (rows) { this.href = "/GenerManage/View/" + rows.GenreId; } else { $.messager.alert('提示', '请选择要修改的数据'); return; } } }, '-', { id: 'btncut', text: '删除', iconCls: 'icon-cut', handler: function () { //获取表格选择行 var rows = $('#test').datagrid('getSelections'); //判断是否选择行 if (!rows || rows.length == 0) { $.messager.alert('提示', '请选择要删除的数据!', 'info'); return; } var parm; //循环给提交删除参数赋值(音乐风格编码) $.each(rows, function (i, n) { if (i == 0) { parm = "idList=" + n.GenreId; } else { parm += "&idList=" + n.GenreId; } }); $.messager.confirm('提示', '是否删除选中数据?', function (r) { if (!r) { return; } //提交 $.post('/GenerManage/Delete/', parm, function (msg) { if (msg.IsSuccess) { $.messager.alert('提示', msg.Message, 'info', function () { //重新加载当前页 $('#test').datagrid('reload'); }); } else { $.messager.alert('提示', msg.Message, 'info') } }); }); } }] }); var p = $('#test').datagrid('getPager'); if (p) { $(p).pagination({ onBeforeRefresh: function () { alert('before refresh'); } }); } }); </script> |
后台代码
//显示创建或者修改信息 public ActionResult View(int? id) { Genre g = (from gener in msdb.Genre where gener.GenreId == id select gener).FirstOrDefault(); if (g == null) g = new Genre(); return View(g); } [HttpPost] public ActionResult Delete(IList<int> idList) { //判断判断是否删除多行数据 if (idList.Count > 1) { foreach (int i in idList) { var gener = from g in msdb.Genre where g.GenreId == i select g; msdb.Genre.DeleteAllOnSubmit(gener); } } else { var gener = from g in msdb.Genre where g.GenreId == idList.First() select g; msdb.Genre.DeleteAllOnSubmit(gener); } //这里删除多条记录的时候提示varchar-int失败所以用上面的办法 // msdb.Genre.DeleteAllOnSubmit(idList.Cast<Genre>().ToList()); msdb.SubmitChanges(); return Json(new { IsSuccess = true, Message = "删除成功" }); } |
Jquery easyui datagrid 删除多行问题的更多相关文章
- jquery easyui datagrid改变某行的值
$("#DeterminateMembers").datagrid("updateRow",{index:index,row:{fzr:"0" ...
- JQuery easyUi datagrid 中 editor 动态设置最大值最小值
前言 近来项目中使用到 easyui 来进行页面设计,感觉挺方便的,但是网上除了api外,其他有价值的资料比较少,故在此分享一点经验,供大家参考. 问题 JQuery easyUi datagri ...
- jquery easyui datagrid 获取Checked选择行(勾选行)数据
原文:jquery easyui datagrid 获取Checked选择行(勾选行)数据 getSelected:取得第一个选中行数据,如果没有选中行,则返回 null,否则返回记录. getSel ...
- 扩充 jQuery EasyUI Datagrid 数据行鼠标悬停/离开事件(onMouseOver/onMouseOut)
客户需求: jQuery EasyUI Datagrid 用户列表鼠标悬停/离开数据行时显示人员头像(onMouseOver/onMouseOut) 如图所示,Datagrid 鼠标悬停/离开数据行时 ...
- 扩展 jQuery EasyUI Datagrid 数据行鼠标悬停/离开事件(onMouseOver/onMouseOut)
客户需求: jQuery EasyUI Datagrid 用户列表鼠标悬停/离开数据行时显示人员头像(onMouseOver/onMouseOut) 如图所示,Datagrid 鼠标悬停/离开数据行时 ...
- JQuery easyUi datagrid 中 自定义editor作为列表操作按钮列
转自 http://blog.csdn.net/tianlincao/article/details/7494467 前言 JQuery easyUi datagrid 中 使用datagrid生 ...
- jquery easyui datagrid使用参考
jquery easyui datagrid使用参考 创建datagrid 在页面上添加一个div或table标签,然后用jquery获取这个标签,并初始化一个datagrid.代码如下: 页面上 ...
- 扩展jquery easyui datagrid编辑单元格
扩展jquery easyui datagrid编辑单元格 1.随便聊聊 这段时间由于工作上的业务需求,对jquery easyui比较感兴趣,根据比较浅薄的js知识,对jquery easyui中的 ...
- jquery easyui datagrid 加每页合计和总合计
jquery easyui datagrid 加每页合计和总合计 一:效果图 二:代码实现 这个只有从后台来处理 后台根据rows 和page两个参数返回的datatable 命名为dt 然后根据dt ...
随机推荐
- zepto源码注解
/* Zepto v1.0-1-ga3cab6c - polyfill zepto detect event ajax form fx - zeptojs.com/license */ ;(funct ...
- kprobe原理解析(一)
kprobe是linux内核的一个重要特性,是一个轻量级的内核调试工具,同时它又是其他一些更高级的内核调试工具(比如perf和systemtap)的“基础设施”,4.0版本的内核中,强大的eBPF特性 ...
- JQuery判断数组中是否包含某个元素$.inArray("js", arr);
var arr = [ "xml", "html", "css", "js" ]; $.inArray(" ...
- ultraEdit32 /uedit32 自定义快捷键/自定义注释快捷键
编辑器一直用vim,但同事写VHDL 用的是utraledit32 ,为了更好的沟通,我也下载了最新破解版本:http://pan.baidu.com/s/1qWCYP2W 刚开始用找不到注释的快捷键 ...
- IOS开发之——keychain使用介绍 保护本地文件的安全
iOS的keychain服务提供了一种安全的保存私密信息(密码,序列号,证书等)的方式.每个ios程序都有一个独立的keychain存储.从ios 3.0开始,跨程序分享keychain变得可行. 使 ...
- 每个Android开发者都应该了解的资源列表
前言 这是一篇译文,原文地址Resources every Android developer must know,在译文开头,推荐两篇同样适合于Android开发者阅读的资源列表Android开 ...
- 小白学习mysql之函数
## 导语 曾经我以为,学会了select.update.insert和delete之后,我就学会了数据库~,要不是到公司看到SQL里充满了密密麻麻的的各种函数,我差点就信了~,当初的自己是多么的天真 ...
- C/C++指针内存分配小细节
char *pc = NULL; pc = new char[0]; pc[0] = '1'; 相信初学者看见上面这段代码,都会觉得奇怪,new char[n]中的n指定给指针变量分配多少内存空间,而 ...
- 【BZOJ1007】【HNOI2008】水平可见直线(斜率排序+单调栈)
1007: [HNOI2008]水平可见直线 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 2605 Solved: 914[Submit][Stat ...
- ThinkPHP之MVC与URL访问
一.初探 我们在apache的www目录下创建一个文件夹,其命名为我们的应用名.然后通过入口文件生成我们的应用. 当我们用ThinkPHP创建好一个应用后,其目录结果如下所示 那么我们如何来访问我们应 ...