10 000+ записей на html для быстрой визуализации - PullRequest
11 голосов
/ 20 марта 2012

Теперь это будет очень абсурдный вопрос. Но что я могу сделать, это требование клиента. По сути, у нас есть сетка (тип master-detail), которая достигает примерно 15 тысяч плюс строк (потенциально может достигать 30-50 тысяч строк через несколько лет).

Мой клиент НЕ хочет никакой подкачки, также не хочет обрезать данные. Также он не использует новейшее оборудование, поэтому рендеринг в браузерах - большая проблема. Он хочет просмотреть все, распечатав его или просмотрев в браузере. (Вы все можете подумать, как это безумно звучит, и это точно так).

Теперь я хочу решить эту проблему, быстро отображая HTML. На данный момент это простой вид сетки asp.net без пейджинга. По сути, это делает HTML-таблицы. Мои варианты, которые я думаю: - Рендеринг html вручную с использованием div (для быстрой загрузки) - экспортировать его в pdf или excel (есть ли способ экспортировать без необходимости использования сторонних контролей?) - отдай палец (клиенту: Д ж / к)

Итак, подведем итоги. Какой лучший способ показать более 10000 записей данных в формате html?

Ответы [ 4 ]

7 голосов
/ 20 марта 2012

рассмотрите возможность использования плагина "Scroller" для Datatables ..

В рамках выпуска DataTables 1.8 новый плагин под названием "Scroller" был представлен как частьиз пакета загрузки.Scroller - это реализация виртуальной прокрутки для DataTables, которая представляет таблицу с вертикальной прокруткой, прокручивая всю высоту таблицы, но рисуя только те строки, которые необходимы для видимого отображения, что приводит к значительному увеличению производительности.Это довольно интересный плагин для DataTables не только для повышения производительности, но и потому, что он эффективно обеспечивает новое взаимодействие пользователя с таблицей, обеспечивая полную прокрутку очень больших наборов данных.

2 голосов
/ 06 февраля 2013

Я знаю, что это почти год спустя, но на случай, если это кому-нибудь поможет.

Использовать SlickGrid - он использует div вместо таблиц, что дает гораздо большую производительность в IE. Проверьте это пример

2 голосов
/ 20 марта 2012

Он хочет просмотреть все, напечатав

Это единственное жизнеспособное решение для просмотра всей информации. PDF или Excel лучше намного для обработки большого количества строк.

Сделать рендеринг довольно легко. Просто установите тип MIME Excel и верните HTML-таблицу.

http://www.designdetector.com/archives/05/07/HTMLToExcelTheEasyWay.php

Когда дело доходит до PDF, вам, вероятно, придется использовать внешнюю библиотеку, например PDFSharp.

2 голосов
/ 20 марта 2012

Вы должны выполнять разбиение по страницам - это не означает, что вам нужно показывать только одну страницу данных за раз, а скорее вы должны извлекать и отображать страницы с данными за один раз (и продолжать непрерывно извлекать страницы одна за одной, пока данные закончен).

Например, отправьте первую страницу данных с сервера в первоначальном запросе. Установите js-таймер и используйте AJAX-запросы для получения последующих страниц данных и загрузки их в браузер. Вы можете иметь несколько (скажем, 3-4) AJAX-запросов, выполняемых одновременно для извлечения страниц - единственное, что может быть достигнуто для правильного упорядочения при таком подходе.

Я лично буду избегать просмотра сетки и визуализировать html-таблицу, используя ручной java-скрипт (с помощью jquery) или использовать некоторый шаблонизатор java-script. Я буду использовать JSON для получения данных с сервера.

...