У меня проблема с сортировкой в сетке Кендо. Вот мой пример: http://dojo.telerik.com/iVATi
В IE сортировочных работает отлично: вид по умолчанию и по возрастанию сортировать вид те же: первый собирается элементы, начиная с символов, во-вторых элементов с A-Z буквы, третьего элементов с а-я буквами.
Но в Chrome и Firefox я вижу три других результата:
1). default view: первый элемент, начинающийся с символов, второй элемент с a-z буквами, третьи элементы с а-я буквами. (правильно!)
2). сортировка по возрастанию: начальные элементы, начинающиеся с символов, второй элемент с а-я буквами, третьи элементы с буквой a-z. (плохо!)
3). сортировка по убыванию: первые элементы с z-буквой, вторыми элементами с буквами я-а, третьими отсортированными элементами с символами. (правильно!)kendo grid сортировка не работает в Chrome
0
A
ответ
0
Проблема связана с неустойчивой сортировкой 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;
}
}
});
Вы все еще нужно будет использовать пользовательские функции компаратором хоть.
0
Я решил эту проблему. Я расширил отсортированный источник данных с полем индекса и добавил функцию-сравнение по индексу для имени поля: http://dojo.telerik.com/UKimo
Возможно, существуют другие решения?
А как насчет этого решения: [link] (http://dojo.telerik.com/iVATi/3)? – user1893999
Это неправильно сортируется на моей стороне. Попробуйте использовать этот подход с колонкой «Адрес» здесь, имена будут по-прежнему сдвигаться - http://docs.telerik.com/kendo-ui/controls/data-management/grid/how-to/stable-sort-chrome – dimodi
Да, эта ссылка с идеей добавления позиций, которые я использовал изначально. И [http://dojo.telerik.com/UKimo](http://dojo.telerik.com/UKimo) с функцией сравнения 'compare: function (a, b) { \t return a.index - b.index ; \t} 'работает так же, как и в IE. – user1893999