Просмотр полной версии : DataGrid и сортировка чисел
По моему DataGrid не умеет сортировать числа разных порядков, т.е. 1,3,5 оно конечно отсортирует правильно, а вот 2,13,7 - неправильно. Точнее сортирует как строки, но это же числа. Ну и как ее заставить сортировать числа? А то неудобно как-то...
Используй свойство sortOnHeaderRelease=false и событие headerRelease чтобы подключить собственный код для сортировки, а потом либо методы наследуемые от List (sortItems или sortItemsBy) либо методы DataProvider (sortItems или sortItemsBy)
в твоем случае:
grid.getColumnAt(1).sortOnHeaderRelease = false;
// где 1 - индекс колонки
function sortFunction(eventObject) {
grid.sortItemsBy(grid.columnNames[eventObject.columnIndex], Array.NUMERIC);
}
grid.addEventListener("headerRelease", sortFunction);
Дело в том, что у меня нет DataProvider, я с БД напрямую в Grid гоню (только на просмотр). Поэтому перебивать лыжи - влом. А предложенный метод, это конечно хорошо, но только я об этом тоже думал. Только вот беда - имеем абсолютно тоже самое, что и раньше, только без обратной сортировки. Кстати вот вопрос - как по столбу определить куда он отсортирован?(при сортировке маркер выставляется - стрелка вниз или вверх). Всмысле имеется ли встроенный метод определения направления сортировки?
Дело в том, что у меня нет DataProvider, я с БД напрямую в Grid гоню (только на просмотр). Поэтому перебивать лыжи - влом. А предложенный метод, это конечно хорошо, но только я об этом тоже думал. Только вот беда - имеем абсолютно тоже самое, что и раньше, только без обратной сортировки. Кстати вот вопрос - как по столбу определить куда он отсортирован?(при сортировке маркер выставляется - стрелка вниз или вверх). Всмысле имеется ли встроенный метод определения направления сортировки?
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.