Бесконечная прокрутка сетки и локальная фильтрация

Я просматривал несколько сообщений, посвященных одной и той же проблеме. Прежде чем перейти к удаленной фильтрации данных из хранилища и передаче их в панель сетки, есть ли какое-либо решение:

  • Чтобы отобразить около 10000 записей за один раз в представлении панели сетки.
  • Использовать фильтрацию столбцов в сетке для фильтрации всех этих записей.

person simhskal    schedule 26.11.2013    source источник


Ответы (1)


Эти два подхода противоречат друг другу: при просмотре набора данных такого размера вам нужно подумать об использовании буферизованной сетки/хранилища. Весь смысл буферизованных сеток в том, что базовый набор данных слишком велик для одновременной загрузки в сетку без значительных накладных расходов (как правило, в сложности DOM, во вторую очередь для обработки JS). Таким образом, данные по своей природе буферизуются и загружаются порциями. Введение локальной фильтрации/сортировки в качестве слоя поверх этого, таким образом, нецелесообразно из-за того, что оно будет применяться только к текущему фрагменту, поэтому, когда следующий фрагмент записей будет выбран, они не подпишутся на фильтр/сортировку, указанную графический интерфейс, который ожидает пользователь. Таким образом, вы получаете разрозненный UX.

Поэтому у вас есть несколько подходов:

  1. Используйте сетку с разбивкой на страницы — с локальной фильтрацией/сортировкой на каждой странице, все еще дает далеко не идеальный UX, но, по крайней мере, в некотором роде это полулогично.

  2. Не используйте разбиение на страницы/буферизацию и просто загружайте все свои записи, а затем выполняйте локальную фильтрацию/сортировку, на самом деле это не масштабируемое решение, а скорее попытка избежать работы, чтобы заложить прочную основу для вашего приложения.

  3. Используйте буферизованную сетку/хранилище и реализуйте фильтрацию/сортировку на стороне сервера, учитывая ваши требования, это явно рекомендация, и ее не должно быть слишком сложно реализовать

Итак, короткий ответ: НЕТ. Рекомендуется использовать буферизованную сетку/хранилище с удаленной фильтрацией/сортировкой.

person SW4    schedule 26.11.2013
comment
2 в настоящее время реализован, но является огромным узким местом с точки зрения производительности; в то время как 1 не может быть и речи для текущего сценария обработки данных. 3 казался единственным способом. Спасибо за более четкое представление об этой проблеме. - person simhskal; 26.11.2013