2012-03-20 7 views
10

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

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

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

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

+4

у вас есть варианты, используйте Nustache для рендеринга объектов в html, а затем добавьте в контейнер, используйте таблицу данных YUI и, наконец, можете использовать код клиента на стороне Backbone.js для делегирования таблицы с прогрессивной загрузкой, которая будет загружайте больше строк при прокрутке или нажмите кнопку загрузки больше. – Deeptechtons

+1

Длинные * таблицы * могут быть медленными, так как (старые) браузеры должны читать всю таблицу, прежде чем они смогут начать выкладывать страницу. Возможно, решение, отличное от таблицы, будет работать лучше. –

+1

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

ответ

7

рассмотреть вопрос об использовании «скроллера» plug-in for Datatables ..

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

+0

Спасибо за этого помощника :), глядя в это сейчас. Cheers – xeshu

+0

ОК, удачи .. – Lloyd

2

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

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

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

+0

Он сказал, что не может реализовать требования к персональному компьютеру. – TheBoyan

+0

@BojanSkrchevski, клиент хочет просмотреть все данные вместе, а не одновременно на странице. Пожалуйста, внимательно прочитайте ответ - я консультирую пейджинг для получения и отображения данных, то есть вы продолжаете загружать страницы данных с помощью таймера. – VinayC

+0

Ах, извините, +1 :) – TheBoyan

2

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

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

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

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

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

+0

Cheers jgauffin. :) Я изучал pdfsharp и другие генераторы PDF с открытым исходным кодом. Не реализовано для простой структуры таблицы, переключая тип mime, открывает его в excel. Спасибо за это :) – xeshu

1

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

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

Смежные вопросы