更改 Kendo 网格模型并手动保存
Changing Kendo Grid model and manually saving it
我想手动保存 Kendo Grid 的项目,但在此之前我应该可以更改模型。
据我所知有两种方法可以更改模型: 1. 在 OnEdit
事件中。 2. 在 OnSave
事件中。
在插入新行之前所需的信息不可用,因此我无法使用 OnEdit
事件。
另一方面,要保存该项目也有两种方法:1. 触发DataSource
的sync
方法。 2. 触发网格的 saveChanges
方法,它似乎只是触发 sync
方法。不幸的是,这些事件中的 none 触发了 OnSave
事件!! saveChanges
方法触发 saveChanges
事件,但在此事件中无法访问模型。
欢迎提出任何建议和解决方法!
OnGridEdit - 当用户点击编辑时触发,所以如果你想在用户点击编辑时显示一些默认值,你可以在这里做。您不必调用保存更改,因为网格尚未绑定。
OnGridSave - 当用户点击更新时触发一个选项,你可以做
e.preventDefault(); e.model.field = "changevalue"; grid.savechanges;
第二个选项,当用户点击更新时,它会调用控制器方法,您可以在其中修改模型并发送更新后的修改模型
OnRequestEnd - 如果你不想在服务器上更新,只想把修改后的值显示给用户,你可以在这个事件中做。在这里你会得到所有的记录,你必须遍历并更新值
if (e.type == "update") {}
原来还有第三种方法可以保存Kendo网格:SaveRow
。此方法将触发 Gird 的 save
事件,就像用户单击保存按钮时一样。
$('gridId').data().kendoGrid.saveRows();
所以使用上面的代码,我可以保持我当前的处理程序不变,我可以在 save
事件处理程序中更改模型......
我想手动保存 Kendo Grid 的项目,但在此之前我应该可以更改模型。
据我所知有两种方法可以更改模型: 1. 在 OnEdit
事件中。 2. 在 OnSave
事件中。
在插入新行之前所需的信息不可用,因此我无法使用 OnEdit
事件。
另一方面,要保存该项目也有两种方法:1. 触发DataSource
的sync
方法。 2. 触发网格的 saveChanges
方法,它似乎只是触发 sync
方法。不幸的是,这些事件中的 none 触发了 OnSave
事件!! saveChanges
方法触发 saveChanges
事件,但在此事件中无法访问模型。
欢迎提出任何建议和解决方法!
OnGridEdit - 当用户点击编辑时触发,所以如果你想在用户点击编辑时显示一些默认值,你可以在这里做。您不必调用保存更改,因为网格尚未绑定。
OnGridSave - 当用户点击更新时触发一个选项,你可以做
e.preventDefault(); e.model.field = "changevalue"; grid.savechanges;
第二个选项,当用户点击更新时,它会调用控制器方法,您可以在其中修改模型并发送更新后的修改模型
OnRequestEnd - 如果你不想在服务器上更新,只想把修改后的值显示给用户,你可以在这个事件中做。在这里你会得到所有的记录,你必须遍历并更新值
if (e.type == "update") {}
原来还有第三种方法可以保存Kendo网格:SaveRow
。此方法将触发 Gird 的 save
事件,就像用户单击保存按钮时一样。
$('gridId').data().kendoGrid.saveRows();
所以使用上面的代码,我可以保持我当前的处理程序不变,我可以在 save
事件处理程序中更改模型......