Kendo 网格排序不同的顺序

Kendo Grid sorting a different order

我们有一列显示在文本中,但是排序应该是数字。

是否可以在 Kendo UI 网格中按可自定义的顺序对可排序列进行排序,在我的例子中是按数字字段?

您应该可以使用列的 sortable.compare-函数:http://docs.telerik.com/kendo-ui/api/javascript/ui/grid#configuration-columns.sortable.compare

<div id="grid"></div>
<script>
var numbers = {
    "one"  : "a",
    "two"  : "b",
    "three": "c"
};

var dataSource = new kendo.data.DataSource({
    data: [
        { id: 1, item: "two" },
        { id: 2, item: "one" },
        { id: 3, item: "three" }
    ]
});

$("#grid").kendoGrid({
    dataSource: dataSource,
    sortable: true,
    columns: [{
        field: "item",
        sortable: {
            compare: function(a, b) {
                if (numbers[a.item] > numbers[b.item]) {
                    return 1;
                } else if (numbers[a.item] < numbers[b.item]) {
                    return -1;
                } else {
                    // the characters are equal.
                    return 0;
                }
            }
        }
    }]
});