我在ASP.NET MVC 4网站jQuery 1.7.2中使用jqGrid 4.3.2.应用程序中有几个地方使用jqGrid.我现在的一般设置是所有编辑都是在本地完成的(loadonce:true和clientArray),带有内联导航和编辑,所有网格数据都通过
AJAX调用在表单提交时发布到服务器.我在行编辑和它们承诺的事件中遇到了一些困难.您可以查看站点(和源,正在进行的总工作,很好)
here.如果您添加或编辑行,然后单击页面上的其他位置,则不会保存行编辑.用户必须在行编辑期间的某处按Enter键以保存行.
我在this question年稍微谈了这个,Oleg很友善地回答.除了按下回车键之外,有没有办法提交行编辑,比如当行失去焦点时?
解决方法
你能做的是以下几点:
>首先你必须设置inlineNav的restoreAfterSelect:false选项.我看到该选项没有记录,但你可以在the source code中看到它.没有设置inlineNav使用beforeSelectRow来调用restoreRow(见here).
>实现保存onSelectRow(参见the answer中的代码)或beforeSelectRow内部的上一个编辑行.可能更容易使用beforeSelectRow,因为最后一个需要保存的编辑行可能只是您可以从selrow选项中获取的最后一个选定行,因为该值尚未在beforeSelectRow中更改.