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 删除多行问题的更多相关文章

  1. jquery easyui datagrid改变某行的值

    $("#DeterminateMembers").datagrid("updateRow",{index:index,row:{fzr:"0" ...

  2. JQuery easyUi datagrid 中 editor 动态设置最大值最小值

    前言 近来项目中使用到 easyui 来进行页面设计,感觉挺方便的,但是网上除了api外,其他有价值的资料比较少,故在此分享一点经验,供大家参考.   问题 JQuery easyUi datagri ...

  3. jquery easyui datagrid 获取Checked选择行(勾选行)数据

    原文:jquery easyui datagrid 获取Checked选择行(勾选行)数据 getSelected:取得第一个选中行数据,如果没有选中行,则返回 null,否则返回记录. getSel ...

  4. 扩充 jQuery EasyUI Datagrid 数据行鼠标悬停/离开事件(onMouseOver/onMouseOut)

    客户需求: jQuery EasyUI Datagrid 用户列表鼠标悬停/离开数据行时显示人员头像(onMouseOver/onMouseOut) 如图所示,Datagrid 鼠标悬停/离开数据行时 ...

  5. 扩展 jQuery EasyUI Datagrid 数据行鼠标悬停/离开事件(onMouseOver/onMouseOut)

    客户需求: jQuery EasyUI Datagrid 用户列表鼠标悬停/离开数据行时显示人员头像(onMouseOver/onMouseOut) 如图所示,Datagrid 鼠标悬停/离开数据行时 ...

  6. JQuery easyUi datagrid 中 自定义editor作为列表操作按钮列

    转自   http://blog.csdn.net/tianlincao/article/details/7494467 前言 JQuery easyUi datagrid 中 使用datagrid生 ...

  7. jquery easyui datagrid使用参考

    jquery easyui datagrid使用参考   创建datagrid 在页面上添加一个div或table标签,然后用jquery获取这个标签,并初始化一个datagrid.代码如下: 页面上 ...

  8. 扩展jquery easyui datagrid编辑单元格

    扩展jquery easyui datagrid编辑单元格 1.随便聊聊 这段时间由于工作上的业务需求,对jquery easyui比较感兴趣,根据比较浅薄的js知识,对jquery easyui中的 ...

  9. jquery easyui datagrid 加每页合计和总合计

    jquery easyui datagrid 加每页合计和总合计 一:效果图 二:代码实现 这个只有从后台来处理 后台根据rows 和page两个参数返回的datatable 命名为dt 然后根据dt ...

随机推荐

  1. git review报错一例

    在线上修改代码,最后使用git review提交代码审核的时候出现报错如下:[wangshibo@115~]$ vim testfile           #修改代码[wangshibo@115~] ...

  2. Hashtable 数据遍历的几种方式

    Hashtable 在集合中称为键值对,它的每一个元素的类型是 DictionaryEntry,由于Hashtable对象的键和值都是Object类型,决定了它可以放任何类型的数据, 下面我就把Has ...

  3. 如何在 kernel 和 hal 层读取同一个标志

    很多时候我们需要从 HAL 层(Hardware Abstract Layer)传一个标志给 kernel 层.一般这种传递是不能直接通过定义全局变量来实现的. 此时可以通过读写文件来实现该标志. 譬 ...

  4. 项目移植将eclipse里面的项目移植到intellij idea里面

    怎么关联多个库 .  A B C D,A依赖BC,D依赖A,怎么搞? 注意: as和idea里面,project是工作空间的意思,这里面model才是项目. 打开主项目D 打开已经存在的model 导 ...

  5. C# log4net 不输出日志

    一个新项目,直接用了一些之前的代码,突然跟踪不到日志了.检查发现了原因,特在此记录. log4net的配置文件log4net_config.xml <?xml version="1.0 ...

  6. 【转】使用sklearn优雅地进行数据挖掘

    这里是原文 目录 使用sklearn进行数据挖掘 1.1 数据挖掘的步骤 1.2 数据初貌 1.3 关键技术并行处理 并行处理 2.1 整体并行处理 2.2 部分并行处理流水线处理自动化调参持久化回顾 ...

  7. count(*) vs count(1)--social.msdn.microsoft.com

    Clever response Dave, but insufficient. I'll admit I've suggested this myself for certain questions ...

  8. 20145215实验四 Android开发基础

    20145215实验四 Android开发基础 实验内容 基于Android Studio开发简单的Android应用并部署测试; 了解Android组件.布局管理器的使用: 掌握Android中事件 ...

  9. Xilinx命名规则

    xilinx公司的FPGA种类繁多,知道了命名规则,看起来应该会舒服很多. 1.xilinx的FPGA命名规则 Xilinx的ug112第一章中介绍了Xilinx公司的FPGA命名规则.一般而言,大的 ...

  10. VS2008+GDI实现多幅图像的GIF动画制作

    相信很多朋友和我一样,经常由于这或那的原因,需制作一些特定格式的图像.如开发过程中需要给菜单.工具条及按钮等添加对应的图形标识,通过代码或资源导入方式加载这些图像时往往会有较高的格式要求. 比如,为按 ...