10 000 + записей в html для быстрого рендеринга

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

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

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

Итак, чтобы подвести итог, лучший способ показать 10 000 плюс записи данных на html?

Ответ 1

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

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

Ответ 2

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

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

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

Ответ 3

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

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

Выполнение рендеринга довольно просто. Просто установите тип excel mime и верните таблицу HTML.

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

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

Ответ 4

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

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