Параметр "options" в источнике данных kendo
теперь я учусь разрабатывать веб-приложение с помощью kendoui, когда я пытаюсь udpate данные сетки с cusomized popup kendoWindow вместо встроенного окна редактирования kendo, я не знал, как отправить запрос на удаленную службу, поэтому я пытаюсь найти ответ в официальных документах api в на этой странице, но возникла новая проблема, покажите как следующий код:
<script>
var dataSource = new kendo.data.DataSource({
transport: {
read : function (options) {
/* implementation omitted for brevity */
},
update: function (options) {
// make JSONP request to http://demos.kendoui.com/service/products/update
$.ajax({
url : "http://demos.kendoui.com/service/products/update",
dataType: "jsonp", // "jsonp" is required for cross-domain requests; use "json" for same-domain requests
// send the updated data items as the "models" service parameter encoded in JSON
data : {
models: kendo.stringify(options.data.models)
},
success : function (result) {
// notify the data source that the request succeeded
options.success(result);
},
error : function (result) {
// notify the data source that the request failed
options.error(result);
}
});
}
},
batch : true,
schema : {
model: { id: "ProductID" }
}
});
dataSource.fetch(function () {
var product = dataSource.at(0);
product.set("UnitPrice", 20);
dataSource.sync(); makes request to http://demos.kendoui.com/service/products/update
});
</script>
Это пример для иллюстрации того, как указать update в качестве функции, чтобы сделать HTTP-запрос удаленная служба
моя проблема заключается в том, что параметр "параметры" передается функции чтения и обновления. единственная подсказка, которую я нашел, это параметры транспорта.функция parametermap, но я не уверен, что между ними есть определенная связь, поэтому надеюсь, что кто-то объяснит мне
2 ответов
параметр options-это то, что вы уже обнаружили. KendoUI давайте вы укажете функцию вместо некоторой конфигурации для методов доступа к данным его класса datasource.
Если вы укажете функцию, как kendoUI когда-либо узнает, когда вы закончите загрузку данных? Не может. Таким образом, есть эта опция-переменная, которая передается вашей функции (и действительно, она может иметь каждое имя, например dfhajkfhd), которую вы можете вызвать, чтобы kendoUI знал о вашем достижения. Для этого у него есть успехов и методы, которые вы можете вызвать.
ваши комментарии, которые вы скопировали из Kendo-docs, говорят именно это.
или вы спрашивали что-то другое?
действительно цените тех, кто ответил на этот вопрос и попробуйте
Я нашел ответ из нижней части документов кендо, которые я связал в вопросе.
- создал новый объект "dataSource" и определяет чтение и обновить транспорт в нем
- когда dataSource готов, используйте метод " get " источника данных для получения элемента данных, который мне нужен для udpate по идентификатору.
- данные udpate используют метод " set "и отправляют методом "sync" метод
последний шаг-синхронизация данных с базой данных выполните это код, который я использовал
var updateDataSource = new kendo.data.DataSource({
type: "odata",
transport: {
read: {
url: "/api/odata/PEMEP/TaskInformations/?"
},
update: {
url: "/api/odata/PEMEP/TaskInformations/?",
type: "PUT",
dataType: "json",
},
},
schema: {
model: {
id: "_id"
}
},
sync: function() { // close edit window when update request finished
$("#window").data("kendoWindow").close();
},
error: function(e) {
console.log(e.status);
}
});
updateDataSource.fetch(function() {
var task = updateDataSource.get(id); // get dataitem by id
task.set("status", status); // set new values
task.set("retreatReason", retreatReason);
updateDataSource.sync(); //submit the change
});