如何在编辑时禁用Jqgrid上的保存处理程序
我正在使用Jqgrid开发一个ASP.NETMVC4.0应用程序 我正在将所有行设置为可编辑的,有些列是可编辑的,有些是不可编辑的 这里的问题是,我不想使用Save和ESC处理程序 我正在保存其中一个文本框的模糊事件的行详细信息。我仍然需要保持编辑模式 因此,如果用户错误地按enter键,则该行将退出编辑模式 如何禁用这些Esc和保存处理程序 请帮忙 更新: 我没有使用单元格编辑、内联编辑或表单编辑 我正在Jqgrid的loadComplete触发器上将所有行转换为可编辑 我只有一列是可编辑的。属于文本框类型的 所以,关于它的模糊事件,我正在使用一篇ajax文章将其保存到数据库中 到目前为止,一切都很顺利 在这里,即使在将值保存到数据库后,网格也需要处于编辑模式 但是,当在该行上按enter键时,它将移出编辑模式,这违反了我的要求 当按下ESC或Enter键时,我需要停止行从编辑模式移动到查看模式如何在编辑时禁用Jqgrid上的保存处理程序,jqgrid,edit,Jqgrid,Edit,我正在使用Jqgrid开发一个ASP.NETMVC4.0应用程序 我正在将所有行设置为可编辑的,有些列是可编辑的,有些是不可编辑的 这里的问题是,我不想使用Save和ESC处理程序 我正在保存其中一个文本框的模糊事件的行详细信息。我仍然需要保持编辑模式 因此,如果用户错误地按enter键,则该行将退出编辑模式 如何禁用这些Esc和保存处理程序 请帮忙 更新: 我没有使用单元格编辑、内联编辑或表单编辑 我正在Jqgrid的loadComplete触发器上将所有行转换为可编辑 我只有一列是可编辑的。
我希望这是清楚的。如果没有,我会说得更多。我是这样解决的: 不知道这样做是否正确: 奥列格..我需要你对此的看法:
if(cnt > 0) {
svr.id = rowid; $t.p.savedRow.push(svr);
$(ind).attr("editable","1");
$("td:eq("+focus+") input",ind).focus();
if(o.keys===true) {
$(ind).bind("keydown",function(e) {
if (e.keyCode === 27) {
// debugger
// $($t).jqGrid("restoreRow",rowid, o.afterrestorefunc);
// if($t.p._inlinenav) {
// try {
// $($t).jqGrid('showAddEditButtons');
// }
// catch (eer1) {}
// }
return false;
}
if (e.keyCode === 13) {
// var ta = e.target;
// if(ta.tagName === 'TEXTAREA') { return true; }
// if( $($t).jqGrid("saveRow", rowid, o ) ) {
// if($t.p._inlinenav) {
// try {
// $($t).jqGrid('showAddEditButtons');
// } catch (eer2) {}
// }
// }
return false;
}
});
}
$($t).triggerHandler("jqGridInlineEditRow", [rowid, o]);
if( $.isFunction(o.oneditfunc)) { o.oneditfunc.call($t, rowid); }
}
这是我在Jqgrid.src.js中找到的代码
因为我确实需要在按下Enter键或ESC键时调用restoreRow和saveRow,所以我注释掉了代码
我不知道这样做是否正确。但是,这确实适用于我的情景。您的问题内容不清楚。您使用什么编辑模式?你指的是哪个“保存处理程序”?你用什么代码?您是编辑本地数据还是将数据保存在服务器上?对不起,我真的不知道你在做什么。对不起,解释不清楚。我会更新question@oleg..can请检查我编辑过的问题..@Oleg..请在下面找到我的答案..并提出建议。与其使用gridComplete打开编辑功能,不如使用自定义格式设置程序将列呈现为带有onblur的文本输入,您可以将rowid保存为输入的数据属性,以从jqgrid onblur中获取行。顺便说一句,editparameters上有一个keys选项,它也可以得到您想要的结果。