0

看看这两个小提琴

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"]
});

(你可以忽略损坏的导航面板,我在产品中看不到这个)

问题是记录数。

如果您单击“添加新记录”,您将看到记录计数执行文本添加而不是数字添加。太疯狂了,不知道剑道怎么让这个滑了半年+

4

1 回答 1

1

问题在于OData该返回totalstring因为它是作为string.

在以前的代码版本中,增量已完成,total++但现在添加了number允许在一个操作中添加多个记录。问题是,如果你这样做string+number你实际上得到number连接到string.

解决它的最简单方法是提供一个total函数,该函数将 转换stringnumber像在 中定义的那样简单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
},
于 2013-08-20T21:28:39.053 回答