У меня есть сетка Kendo, которая включена для редактирования InCell. Сетка также настроена для работы CURD. Так что, когда есть изменение в строке сетки. Пользователь должен нажать кнопку SaveChanges
, чтобы сохранить изменения. Сетка опубликует коллекцию модели строк на сервере.
@(Html.Kendo().Grid<mymodel>()
.Name("mygrid")
.Columns(columns =>
{
//columns here
columns.Command(command => command.Destroy()).Width(100);
})
.ToolBar(toolbar =>
{
toolbar.Create();
toolbar.Save();
})
.Editable(editable => editable.Mode(GridEditMode.InCell))
.Pageable()
.Navigatable()
.Sortable()
.Scrollable()
.Filterable()
.AutoBind(true)
.DataSource(dataSource => dataSource
.Ajax()
.Batch(true)
.PageSize(20)
.ServerOperation(false)
.Model(model =>
{
model.Id("Id");
var f = model.Field("Id", typeof(int));
f.Editable(false);
})
.Model(model =>
{
model.Id("Id");
var f = model.Field("Id", typeof(int));
f.Editable(false);
})
.Create("Create", "Test")
.Read("Get", "Test")
.Update("Update", "Test")
.Destroy("Delete", "Test")
))
Когда пользователь нажимает SaveChanges, я хочу изменить модель строки перед публикацией на сервер.
Сетка содержит событие SaveChanges
, которое срабатывает каждый раз, когда пользователь нажимает SaveChanges
$(function(){
var kendoGrid = $("#mygrid").getKendoGrid();
kendoGrid.bind("saveChanges", function (e) {
var datasource = kendoGrid.dataSource;
// how do i update data before posting to server here
});
Как обновить модель, которая собирается публиковать на сервере? Является ли событие SaveChanges правильным событием для обработки этого сценария?