Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > Сортировка неклассических таблиц


Автор: AcetoN 18.2.2013, 22:25
Здравствуйте.
Подскажите, как решить задачу сортировки неклассической таблицы. Под словом "неклассической" я имею в виду такую таблицу, у которой значения свободно располагаются на строке, например, вертикально:
Код

---------
Поле 1
Поле 2
Поле 3
---------
Поле 1
Поле 2
Поле 3
---------
Поле 1
Поле 2
Поле 3
---------
Поле 1
Поле 2
Поле 3
---------

Необходимо иметь возможность отсортировать таблицу по любому из полей в ячейке. Хотелось бы еще уточнить, что кнопки сортировки могу располагаться в любом месте страницы. Замечу также, что хотелось бы выполнять сортировку именно средствами клиента, чтобы лишний раз не выполнять запрос к бд. Надеюсь, понятно объяснился smile

Автор: Aliance 19.2.2013, 10:11
Цитата(AcetoN @  18.2.2013,  23:25 Найти цитируемый пост)
Надеюсь, понятно объяснился

лично мне - нет.

приведи пример исходной таблицы и уже отсортированной. Если условий слишком много - лучше привести с комментариями каждое из них.

Автор: CruorVult 19.2.2013, 11:50
1. Формируешь JSON объект со всеми данными
2. Пишешь ф-ю сортировки JSON объекта с вложенностью либо гуглишь (у меня где-то валялась, но сейчас не могу найти)
3. Пишешь ф-ю рендера таблицы на основании данных JSON-а
4. При нажатии на кнопку сортировки делаешь сортировку по конкретному полю
5. Вызываешь опять ф-ю рендера(п.3) и передаешь уже отсортированный JSON

Добавлено через 1 минуту и 2 секунды
Цитата(AcetoN @  18.2.2013,  22:25 Найти цитируемый пост)
Хотелось бы еще уточнить, что кнопки сортировки могу располагаться в любом месте страницы


В чем сложность?

Автор: JAYBE 22.2.2013, 10:35
CruorVult, 
Я когда то такое делал.
Но ведь если таблци огромна, то по новой её рисовать после сортировки - очень накладно по ресурсам...

Автор: Aliance 22.2.2013, 11:34
Цитата(JAYBE @  22.2.2013,  11:35 Найти цитируемый пост)
Но ведь если таблци огромна

тогда нужна пагинация, чтобы она не была огромна. огромную таблицу ресурсоемко отрисовывать хоть на сервере, хоть на клиенте.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)