Загрузка/отображение большого количества данных на веб-странице

У меня есть веб-страница, содержащая таблицу для отображения большого количества данных (в среднем от 2000 до 10000 строк). Эта страница долго загружается/рендерится. Что понятно.

Проблема в том, что пока страница загружается, использование памяти ПК резко возрастает (500 МБ в моей тестовой системе используется iexplorer), и весь ПК останавливается до тех пор, пока он не завершится, что может занять минуту или две. IE виснет до полного завершения, переключение на другую запущенную программу тоже самое.

Мне нужно исправить это - и в идеале я хочу выполнить 2 вещи:

1) Загружайте отдельные части страницы отдельно. Таким образом, страница может изначально отображаться без большой таблицы данных. Загрузочный div будет размещен там до тех пор, пока он не будет готов.

2) Не используйте так много памяти или локальных ресурсов при рендеринге - по крайней мере, они могут одновременно использовать другую вкладку/приложение.

Как бы я поступил, выполняя и то, и другое?

Я программист приложений по профессии, поэтому я все еще немного не уверен в том, что я могу делать в веб-среде.

Всем привет.


person jb.    schedule 12.05.2010    source источник


Ответы (3)


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

Что касается второй части, вам нужно что-то, называемое ленивой загрузкой: возможность загружать данные только тогда, когда они нужны пользователю, то есть когда они находятся в видимой части документа. Вы можете просмотреть этот вопрос для библиотеки DataGrid, способной обрабатывать миллионы строк.

person Alsciende    schedule 12.05.2010

Два основных варианта:

person Matt    schedule 12.05.2010

Вы можете попробовать несколько вещей:

Асинхронная загрузка данных и Разбиение по страницам

person Ta01    schedule 12.05.2010
comment
Первая ссылка теперь мертва, а вторая ссылка на статью С#, отсюда и отрицательный голос, я знаю, что это древний ответ, вещи устаревают, я не смог найти статью «Асинхронная загрузка данных», иначе я бы обновил ссылку. - person Duncanmoo; 05.09.2019