Поиск, сортировка и разбиение на страницы больших наборов данных на клиенте - PullRequest
1 голос
/ 21 октября 2010

Я использую плагин DataTables для jQuery (http://www.datatables.net) для поиска, сортировки и разбивки на таблицы табличных данных на клиенте. Простота реализации и удобство работы с пользователями были огромным выигрышем.

Теперь яУ меня есть требование для реализации той же функциональности (поиск, сортировка, разбиение на страницы) в большем наборе данных, макс. 1000 записей . Я надеялся использовать тот же плагин для этого, но, похоже, чтопроизводительность DataTables резко снижается при увеличении количества записей в таблице. В IE8 таблица с 500 tr s уже вызывает предупреждение «Скрипт на этой странице работает медленно».

Поскольку наборы данных не такие большие , я бы очень хотел сделать это на клиенте, если это возможно.

Есть ли способ улучшить производительность плагина DataTables, изменив визуализированную разметку, отключив некоторыефункции, предоставляя данные в виде JSON вместо HTML или иным образом настраивая их для достижения ощутимой производительности на стороне клиента 1000записи в большинстве современных браузеров (IE7 +, FF2 +, Chrome).

В качестве альтернативы, есть ли другие библиотеки javascript, предпочтительно jQuery, которые могли бы предложить аналогичную функциональность?

Ответы [ 3 ]

1 голос
/ 28 октября 2010

После некоторого дальнейшего тестирования производительности оказывается, что сортировка вызывает проблему производительности . jQuery DataTables более чем способен разбивать на страницы и искать в таблицах до 3000 записей в IE6, и гораздо больше в браузерах последнего поколения.

Все, что вам нужно сделать, - это инициализировать DataTables с помощью "bSort":false, и он будет восприниматься как чемпион.

0 голосов
/ 03 декабря 2010

Это исправлено в последней сборке DataTables (v1.7.5 +).Автор изменил реализацию сортировки, чтобы не использовать eval или $ .inArray ().

Прямая ссылка на скачивание: http://datatables.net/download/build/jquery.dataTables.nightly.js

Из журнала изменений: Производительность: Переписана реализация сортировки, чтобы она не использовала eval () из $ .inArray ().Было обнаружено, что inArray оказывает серьезное негативное влияние на IE, который считает операции, чтобы выдать сообщение об ошибке «скрипт работает медленно» - новая реализация использует обратное отображение значения / ключа, чтобы сделать поиск таким же быстрым, как получение одного параметра объекта.

Захватите сборку со следующей информацией (или позже) Nightly: 1.7.5.dev Воскресенье, 28 ноября 2010 г., 14:42 Загрузка Скачать мин Заметки

0 голосов
/ 21 октября 2010

Я больше люблю flexigrid:

http://www.flexigrid.info/

Количество записей не является проблемой, поскольку оно реализовано на каждой странице. Таким образом, мы не управляем 1000 записями одновременно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...