如何在编辑时禁用Jqgrid上的Save Handler

时间:2013-12-26 13:53:42

标签: jqgrid edit

我正在使用Jqgrid开发ASP.net MVC 4.0应用程序。

将所有行设为可编辑,其中一些列可编辑且一些不可编辑。

这里的问题是,我不想使用Save和ESC处理程序。

我正在保存其中一个文本框的blur事件的行详细信息。我仍然需要保持编辑模式。

因此,如果用户错误地按下回车键,则该行将退出编辑模式。

如何停用这些 Esc 保存处理程序

请帮助..

更新

我没有使用单元格编辑或内联编辑或表单编辑

我将所有行转换为可编辑的Jqgrid

的loadComplete触发器

我只有一个专栏可编辑。类型文本框

因此,在它的模糊事件中,我使用ajax帖子将其保存到数据库。

每件事情都很好。

此处,即使将值保存到数据库,网格也需要处于编辑模式。

但是,当在该行上输入时,它正在退出编辑模式,这违反了我的要求

当按下ESC或Enter键时,我需要停止从编辑模式移动到View模式

我希望这很清楚......如果我不提及更多......

1 个答案:

答案 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,我注释掉了代码。

我不知道这是否正确。但是,这确实适用于我的情景。