Самая быстро сортируемая таблица Javascript HTML
-
10-07-2019 - |
Вопрос
Я видел несколько примеров Javascript, которые можно добавить поверх HTML-таблицы, чтобы сделать их сортируемыми. Проблема в том, что все, кого я видел и пробовал, безумно медленны.
Любые предложения или рекомендации для хорошего решения производительности.
Решение
Я обнаружил (только при случайном использовании, без какого-либо интенсивного анализа), что плагин jQuery TableSorter имеет приличную производительность и довольно продвинут по сравнению с любыми другими решениями.
Конечно, он опирается на jQuery, но если вы привередливы в отношении занимаемой площади, вы можете проанализировать метод, используемый плагином, и создать собственную более легкую реализацию.
Другие советы
Вы пробовали tableorter (работает на jQuery)?
Проверьте это по адресу: http://tablesorter.com/docs/
Это довольно легко использовать.
Если это для веб-приложения и у вас много данных, возможно, имеет смысл выполнить сортировку на стороне сервера с использованием SQL или любого другого ORM, который вы используете.
Самый быстрый способ сортировки, который я нашел, - это просто сортировка строк в таблице. Если вы переместите ячейку в DOM, вся строка будет перемещена и будет отсортирована.
Вот пример того, как это сделать, так как я не помню статью, которую я читал о том, как сделать это изначально. http://www.eggheadcafe.com/community/aspnet/ 3/10051794 / попробуйте-this.aspx
Я потратил много времени на оценку различных расширенных библиотек таблиц, включая jquery, dojo, datatable YUI и таблицу прокрутки страниц GWT. Я был недоволен производительностью любого из них для таблиц с тысячами строк (и я думаю, что разбиение по страницам также является плохим решением).
Я пришел к выводу, что flash - это путь для такого сценария.
Сайт, содержащий пример флеш-таблицы с 10000, 100000 и миллионом строк, можно найти здесь.
Существует также этот сайт, который позволяет сравнивать производительность JavaScript и Flash. реализация расширенной таблицы.
Возможно, здесь тогда Javascript не является решением - вы можете выполнить сортировку на стороне сервера или рассмотреть решение на основе flex / actionscript.
Я использовал плагин W3 School Sort, и он был очень медленным с таблицей из 250 строк. Не отвечает в течение хороших 5 секунд.
Переключился на tablesorter.com, как упомянуто в ответах. Работает как шарм. Гораздо быстрее. Теперь не надо ждать.