【问题标题】:kendo grid sorting not working in Chrome剑道网格排序在 Chrome 中不起作用
【发布时间】:2016-09-19 13:27:10
【问题描述】:

我在剑道网格中排序时遇到问题。这是我的例子:http://dojo.telerik.com/iVATi
在 IE 中排序工作正常:默认视图asc 排序视图是相同的:第一个以符号开头的元素,第二个以 a-z 字母开头的元素,第三个以 а-я 字母的元素.
但在 Chrome 和 Firefox 中,我看到了另外三个结果:
1)。默认视图:第一个以符号开头的元素,第二个以 a-z 字母开头的元素,第三个以 а-я 字母开头的元素。 (正确!)
2)。 asc 排序:第一个以符号开头的元素,第二个以 а-я 字母开头的元素,第三个以 a-z 字母开头的元素。 (糟糕!)
3)。 desc 排序:第一个元素用 z-a 字母,第二个元素用 я-а 字母,第三个元素用符号排序。 (正确!)

【问题讨论】:

    标签: google-chrome sorting firefox kendo-grid cyrillic


    【解决方案1】:

    问题是由 Chrome 的不稳定排序引起的,adding an auxiliary data field 是解决此限制的标准方法。

    如果您不想在数据项数组中添加索引,也可以使用schema.parse 即时添加它们:

      var dataSource = new kendo.data.DataSource({
        data: [
          { Name: "!asdgad" },
          { Name: "@sgjkhsh" },
          { Name: "adfadfka" },
          { Name: "tgjbndgnb" },
          { Name: "xsdfvks" },
          { Name: "абдваолптрв" },
          { Name: "пролрлитс" },
          { Name: "юатроваро" },
          { Name: "юдвлоитвт" }
        ],
        schema: {
          parse: function(data) {
            for (var i = 0; i < data.length; i++) {
              data[i].index = i;
            }
            return data;
          }
        }
      });
    

    您仍然需要使用自定义比较器功能。

    【讨论】:

    • 这个解决方案怎么样:link ?
    • 这在我这边排序不正确。尝试在此处的地址列中使用这种方法,名称仍会发生变化 - docs.telerik.com/kendo-ui/controls/data-management/grid/how-to/…
    • 是的,这个链接包含我最初使用的添加职位的想法。并且 http://dojo.telerik.com/UKimo 与比较功能 compare: function(a, b){ return a.index - b.index; } 在 IE 中的工作方式相同。
    • 数据:[{名称:“1”},{名称:“2”},{名称:“5”},{名称:“10”},{名称:“20”} ] 不起作用
    【解决方案2】:

    我解决了这个问题。我用索引字段扩展了排序的数据源,并通过索引为字段名称添加了比较器功能: http://dojo.telerik.com/UKimo
    可能存在其他解决方案吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多