2013-02-22 112 views
5

我使用Kendo UI Grid进行弹出编辑。默认情况下,当用户在弹出编辑器中编辑一个字段并点击回车键时,数据将呈现给网格(在弹出编辑器后面),但弹出窗口保持可见状态,直到点击“更新'按钮。Kendo Grid:触发器更新点击回车键弹出编辑

我试图改变该功能,以便当用户在编辑字段时点击输入时,它会触发'更新'按钮单击 - 这意味着它会将数据呈现给网格,激发保存事件并关闭弹出编辑器。

我当前的尝试将关闭弹出窗口编辑器,但不会触发保存事件并撤消对所选行的任何字段所做的更改。几乎就像取消按钮被触发了。

options.edit = function (e) { 
    $('.k-edit-field .k-input').on('keypress', function (e) { 
     utils.onEnter(e, function() { 
      $('.k-grid-update').trigger('click'); 
     }); 
    }); 
}; 

我怎样才能触发“更新”按钮的点击,或至少模仿它做什么?

回答

4

我没能找到一个方法剑道引起改变的字段变脏,然后进行保存,所以我用一个小的jQuery,只是将重点转移到更新按钮然后触发点击事件。按预期工作...

options.edit = function (e) { 
    $('.k-edit-field .k-input').on('keypress', function (e) { 
     utils.onEnter(e, function() { 
      $('.k-grid-update').focus().trigger('click'); 

     }); 
    }); 
}; 
+0

这也适用于我,但在1秒内,我有一个js错误: 无法使用'in'运算符来搜索未定义的'getSelection'。 Stacktrace不会说任何有用的东西,内部的东西。 如果我点击鼠标更新btn - 一切正常.. – EvgeniyK 2013-11-01 13:21:01

+0

@ bflemi3感谢您的问题和答案,但什么是选项?你在哪里写这个函数?你能多解释一下吗? – MustafaP 2014-04-17 09:03:01

+0

@MustafaP我相信他通过[setOptions](http://docs.telerik.com/kendo-ui/api/javascript/ui/grid#events-edit)[http:// docs .telerik.com /剑术-UI/API/JavaScript的/ UI /格#方法-setOptions)。 – Hastarin 2015-03-05 23:27:45

2

我会建议使用saveRow method这将保存当前数据并关闭PopUp编辑器。

如:

$("#grid").data("kendoGrid").saveRow(); 
+1

也许这适用于内联编辑,但它不适用于弹出编辑。 – bflemi3 2013-02-25 18:39:53

+0

问题是,在模型更新之前,输入字段必须首先失去焦点。 – 2014-12-05 13:06:26

相关问题