0

我正在使用下面的代码对树的值进行排序,似乎排序是基于 CASE 发生的。

我正在尝试找出一种方法来执行不区分大小写的排序,有人可以帮我吗?

if(sortValue == 'Ascending') {
    $("#groupTree").data("kendoTreeView").dataSource.sort({ field: "text", dir: "asc" });
} else if(sortValue == 'Descending') {
    $("#groupTree").data("kendoTreeView").dataSource.sort({ field: "text", dir: "desc" });
}
4

2 回答 2

1

即使您的问题说“在 Kendo Tree View 中排序”,它实际上是指 Kendo DataSource。

话虽如此,但在 KendoUI 论坛中不支持它,但有可能有效的解决方案。在这里检查

于 2013-01-10T22:07:25.247 回答
0

只是想列出一个示例代码来帮助其他正在寻找解决方法的人在使用 Kendo 数据源时执行不区分大小写的排序。

var homogeneous = new kendo.data.HierarchicalDataSource({
  data: [{
    "id":"1237",
    "text":"b",
    "encoded":false,
    "items":[{
      "id":"234",
      "text":"b1",
      "encoded":false,
      "items":[{
        "id":"456",
        "text":"se",
        "encoded":false,
        "items":[{
          "id":"567",
          "text":"BB",
          "encoded":false
        }]
      }]
    }]
  }, {
    id: 1,
    // lowercase foo should be after 'text:b' in case-insensitive sort
    text: "foo"
  }],
  schema: {
    parse: function(data) {
      for (var i = 0; i < data.length; i++) {
        data[i].lowerText = data[i].text.toLowerCase();
      }
      return data;
    },
    model: {
      id: "id",
      children: "items"
    }
  },
  sort: { field: "lowerText", dir: "asc" }
});

$("#tree").kendoTreeView({
  dataSource: homogeneous
});
于 2013-01-17T16:29:20.887 回答