Я знаю, что есть альтернативы, но я действительно хочу использовать jsGrid в своем проекте. Я использую версию 1.5.2, как указано на их веб-сайте, и вытаскиваю ее из CDN. Все, что я хочу, - это вызывать обновление, как описано, так что я могу сделать $.ajax
, но похоже, что этот обратный вызов ничего не делает. Вот моя реализация:Почему мой jsGrid отказывается обновлять отредактированную строку?
$(function() {
$("#jsGrid").jsGrid({
width: "100%",
height: "600px",
inserting: false,
editing: true,
sorting: true,
paging: false,
autoload: true,
controller: {
loadData: function(filter) {
return $.ajax({
type: "GET",
url: "@Url.Action("getOptions", New With {.communityID = 1})",
data: filter
});
},
updateItem: function (item) {
console.log('hello??');
return $.ajax({
type: "PUT",
url: "/items",
data: item
});
}
},
...
});
})
Это говорит в документации, что методы контроллера, как ожидается, вернуть Promises. Это нормально, поскольку я использую jQuery 3.0, а
$.ajax
возвращает стандартизированный Javascript Promise/A (который является , что ожидает jsGrid).Я знаю объект контроллера быть правильно понят, потому что называет
loadData()
и заполнит с красивыми рядами из моей службы REST .После просмотра многих других примеров кажется, что каждый получает его для работы с очень простым кодом, представленным в документации. Мой
console.log
никогда не попадает на точку останова, и вызов AJAX никогда не происходит на вкладке сети.Я переключился на неминифицированную версию jsgrid.js, и я никогда не получаю никаких консольных ошибок.
Когда я размываю строку (удаляюсь от строки, которую редактирую), значение возвращается к тому, что первоначально было.
Возможно, я просто не понимаю, как это работает? Чтобы продолжить редактирование моей БД, нужно ли мне искать другое событие? Любая помощь будет очень высоко ценится!
Когда вы ожидаете вызова 'updateItem'? 'updateItem' следует вызывать после сохранения после редактирования. У вас есть пример с опубликованным в любом месте, чтобы увидеть проблему? – tabalin