由于我已经尝试在kendoui论坛上写作,但我得到的答案是“购买许可证”报告错误,我问是否有人使用kendoGrid 2013.1.319遇到了同样的问题。因为我在“星期日测试应用程序”中使用它,所以根本不急!
我原来的消息是在剑道论坛上:
你好,
我已经使用最新版本更新了kendo网格,突然之间我的应用程序面临数据操作问题。问题似乎是位于客户端,因为我正确地接收了GET,PUT,POST和DELETE谓词的请求,但网格没有更新其状态。
我正在通过API服务使用ASP.NET MVC 4 OData实现。
例如:如果我删除2行并按保存,则进行DELETE调用,客户端网格会隐藏行,但如果我再次按save,则会一直调用删除。
同样的问题是在更新/创建时,单元格保留红色角落,保存后,数据仍然是第一次提交。
我注意到当我收到dataSource上的回调时:
requestEnd: function (e) {
if (e.type === "update" || e.type === "create") {
// Refresh data after changes
this.read();
}
}
在插入或更新记录时,e.type始终未定义。
这是我的dataSource配置:
dataSource: {
type: 'odata', // <-- Include OData style params on query string
transport: {
read: {
url: $("#contactsGrid").attr("data-api-crud"),
dataType: "json", // <-- The default is "jsonp".
type: "GET"
},
update: {
url: $("#contactsGrid").attr("data-api-crud"),
dataType: "json", // <-- The default is "jsonp".
type: "POST"
},
create: {
url: $("#contactsGrid").attr("data-api-crud"),
dataType: "json", // <-- The default is "jsonp".
type: "PUT"
},
destroy: {
url: function (data) {
return $("#contactsGrid").attr("data-api-crud") + "/" + data.Id;
},
dataType: "json", // <-- The default is "jsonp".
type: "DELETE"
},
parameterMap: kendo.data.transports.odata.parameterMap
},
schema: {
// The array of repeating data elements (items)
data: "Results",
// The total count of records in the whole dataset. used for paging.
total: "Count",
model: {
id: "Id",
fields: {
Dealer: { type: "string", editable: true },
Address: { type: "string", editable: true }
}
}
},
pageSize: 50,
serverPaging: true,
serverFiltering: true,
serverSorting: true,
requestEnd: function (e) {
if (e.type === "update" || e.type === "create") {
// Refresh data after changes
this.read();
}
}
}