我正在使用Jqgrid开发ASP.net MVC 4.0应用程序。
我将所有行设为可编辑,其中一些列可编辑且一些不可编辑。
这里的问题是,我不想使用Save和ESC处理程序。
我正在保存其中一个文本框的blur事件的行详细信息。我仍然需要保持编辑模式。
因此,如果用户错误地按下回车键,则该行将退出编辑模式。
如何停用这些 Esc 和保存处理程序
请帮助..
更新
我没有使用单元格编辑或内联编辑或表单编辑。
我将所有行转换为可编辑的Jqgrid
的loadComplete触发器我只有一个专栏可编辑。类型文本框
因此,在它的模糊事件中,我使用ajax帖子将其保存到数据库。
每件事情都很好。
此处,即使将值保存到数据库,网格也需要处于编辑模式。
但是,当在该行上输入时,它正在退出编辑模式,这违反了我的要求
当按下ESC或Enter键时,我需要停止从编辑模式移动到View模式
我希望这很清楚......如果我不提及更多......
答案 0 :(得分:0)
我以这种方式解决了它:
不知道这是否正确:
Oleg..i需要你对此的看法:
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,我注释掉了代码。
我不知道这是否正确。但是,这确实适用于我的情景。