2017-01-19 3 views
1

Используя DataTable с результатами 15K +, я создаю список выпадающих списков, например, в Excel & также и в листах google. Эти списки фильтров показывают все возможные результаты для каждого столбца (например, раскрывающийся список ID будет эффективно иметь результаты 15K +), при этом флажок рядом с ними будет фильтроваться. Очень похожи на это:Выпадающий список фильтров на большом DataTable с использованием Ajax

enter image description here

Я в настоящее время создавать что-то с выбор2 и AJAX для загрузки всех результатов столбцов, однако это занимает 2-3 секунд на фильтр из-за большой набор данных и применяется дополнительные фильтры к данным. Это выполняется только тогда, когда выпадающий список столбцов выбран, а затем кэшируется, если не будут изменены какие-либо фильтры.

Я мог загружать все результаты в DOM на странице загрузки, но это означает, что еще 3 секунды на загрузке страницы, что не идеально. Кроме того, проблема с результатами 15K + в DOM не кажется практичной.

В скором времени у нас будут записи выше 30K, и есть 28 разных столбцов для фильтрации. Я ищу помощь по эффективному извлечению все результаты. Я вижу, что листы Google могут делать это с помощью большого набора данных, однако они не используют разбиение на страницы так же, как и я.

ответ

1

Используйте server-side processing, что определенно улучшит время загрузки страницы.

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

+0

Это то, что я делаю сейчас, однако, поскольку есть так много записей, я должен сделать выбор для ** всех ** записей, а не того, что находится на странице. Проблема в том, что сейчас это медленная работа, так как обработка на стороне сервера ajax в таблице данных прекрасна, но я получаю все результаты для каждого столбца в списках фильтров ajax. – abstrakt