看看这两个小提琴
http://jsfiddle.net/uFcHK/ (v2013.1.319)
http://jsfiddle.net/rcvY3/ (v2013.2.716)
代码完全相同。
var grid = $("#grid").kendoGrid({
dataSource: {
type: "odata",
transport: {
read: "http://demos.kendoui.com/service/Northwind.svc/Products"
},
pageSize: 15,
serverPaging: true,
serverSorting: true,
serverFiltering: true
},
height: 450,
sortable: true,
pageable: true,
editable: true,
toolbar: ["create"],
filterable: false,
columns: ["ProductID", "ProductName", "UnitPrice"]
});
(你可以忽略破损的导航面板,我没有在生产中看到这一点)
问题在于记录数。
如果单击“添加新记录”,您将看到记录计数执行文本添加而不是数字添加。这很疯狂,不知道剑道如何让这个幻灯片放半年+
答案 0 :(得分:1)
问题在于OData
将total
作为string
返回,因为这是string
收到的。
在以前的代码版本中,增量是以total++
完成的,但现在添加了number
,允许在一次操作中添加多个记录。问题是,如果您执行string
+ number
,实际上会将number
连接到string
。
最简单的解决方法是提供total
函数,只需将string
转换为number
,就像在DataSource
中定义一样简单:
dataSource: {
type : "odata",
transport : {
read: "http://demos.kendoui.com/service/Northwind.svc/Products"
},
schema : {
total : function (data) {
// Convert __count to number
return +data.d.__count;
}
},
pageSize : 15,
serverPaging : true,
serverSorting : true,
serverFiltering: true
},