如何在剑道树视图中执行不区分大小写的排序?

时间:2013-01-10 21:54:12

标签: kendo-ui kendo-treeview

我使用下面的代码对树的值进行排序,似乎基于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" });
}

2 个答案:

答案 0 :(得分:1)

即使您的问题是“在剑道树视图中排序”,它实际上也指的是剑道数据源。

这么说,在KendoUI论坛中不支持有解决方案可能有效。检查here

答案 1 :(得分: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
});