我对KendoUI网格控件中的事件有疑问。我在网格初始化后分配了“saveChanges”事件。我使用弹出窗口进行数据编辑。我想在用户按下“保存”按钮时触发事件“saveChanges”。不幸的是,事件没有被解雇。我无法弄清楚问题是什么,而且其他事件也有效。网格在MVC助手中初始化。事件以JavaScript分配。
以下是我正在使用的JavaScript代码:
function bindGridEvents() {
var that = this;
//kendoGrid is an abbreviation of: $("#grid").data("kendoGrid")
kendoGrid.bind("dataBound", function () { }); // works
kendoGrid.bind("edit", function (event) { }); // works
kendoGrid.dataSource.bind("error", function (event) {}); // works
kendoGrid.bind("saveChanges", function (event) { console.log("This event is not fired!"); });
kendoGrid.bind("save", function (event) { }); // works
}
我已经花了很多时间自己找到解决方案而没有成功。我将不胜感激。
修改
我发现了问题所在。文档说:
当用户单击“save”命令时会触发saveChanges事件 按钮。
但是当弹出窗口显示标签为“Save”的命令时,类型为“update”。这就是它在编辑模式下不起作用的原因。它仅适用于工具栏。一开始并不明显,文档也没有说太多,所以要注意这一点。
答案 0 :(得分:0)
没有看到代码,我无法确定。如果没有你做任何改变,我不相信这个事件。适合我的好例子是here。如果您不是通过网格功能处理实际的dataItem编辑,请确保将该项标记为“脏”。理想情况下,将您的代码发布为JsFiddle或JSBin。