У меня есть сетка Kendo MVC в шаблоне, который поддерживает переупорядочение строк. Я могу успешно перетащить строки и поймать событие, когда это произойдет (см. Обработчик ниже), но если я также не отредактирую одну или несколько ячеек в сетке, событие сохранения не срабатывает, когда я нажимаю кнопку «Обновить».Kendo MVC Grid Сохранение события не срабатывает
Обработчик перетащить-н-капли делает набор пораженный модель (ы) «грязный» флаг, но это не похоже, чтобы сократить его:
function onChangeEnumValueOrder(e) {
var uid = $(e.draggableEvent.currentTarget).data("uid");
var model = $("#TheGrid").data("kendoGrid").dataSource.getByUid(uid);
model.dirty = true;
}
Любые намеки или советы будут оценены.
[UPDATE (определение сетки)]
@(Html.Kendo().Grid<EnumItemViewModel>()
.Name("TheGrid")
.Columns(columns =>
{
columns.Bound(x => x.Id).Visible(false);
columns.Bound(x => x.Key).Visible(false);
columns.Bound(x => x.SortOrder).Width(10).Sortable(true);
columns.Bound(x => x.Value).Width(100);
columns.Command(command => command.Custom("Delete").Click("onDeleteEnumItem")).Width(100).Visible(true);
})
.DataSource(dataSource => dataSource
.Ajax()
.Model(model =>
{
model.Id(x => x.Key);
model.Field(x => x.Id).DefaultValue(Guid.Empty);
model.Field(x => x.Value);
})
.Read(read => read.Action("GetEnumItems", "SiteManagement").Data("getFieldIdEnumItemGrid"))
.Create(create => create.Action("AddEnumItem", "SiteManagement"))
.Update(update => update.Action("UpdateEnumItem", "SiteManagement"))
.Destroy(destroy => destroy.Action("DeleteEnumItem", "SiteManagement"))
.Events(events => events.Error("onErrorGrid('EnumGrid')"))
)
.Editable(editable => editable.DisplayDeleteConfirmation(false).Mode(GridEditMode.InCell))
.ToolBar(toolbar => toolbar.Create())
.Events(events => events.SaveChanges("onSaveEnumItemGrid")) // <-- EVENT NOT FIREING
.Sortable(sort =>
{
sort.SortMode(GridSortMode.SingleColumn);
sort.AllowUnsort(true);
})
)
@(Html.Kendo().Sortable()
.For("#TheGrid")
.Filter("table > tbody > tr")
.Cursor("move")
.HintHandler("hintHandlerSortable")
.PlaceholderHandler("placeholderHandlerSortable")
.ContainerSelector("#TheGrid tbody")
.Events(events => events.Change("onChangeEnumValueOrder"))
Можете ли вы опубликовать определение сетки? –
Готово. Спасибо, что нашли время! –
Извините за задержку. Не похоже, что вы устанавливаете какие-либо фактические значения для обновления. Вероятно, вам нужно установить свойство, такое как 'SortOrder', независимо от нового значения сортировки –