2010-05-12 9 views
6

Tengo una página web que contiene una tabla para mostrar una gran cantidad de datos (en promedio de 2,000 a 10,000 filas). Esta página tarda mucho tiempo en cargarse/renderizarse. Lo cual es comprensible El problema es que, mientras la página se carga, el uso de la memoria de la PC se dispara (el programa iexplorer usa 500mb en mi sistema de prueba) y toda la PC se detiene hasta que termina, lo que puede tomar uno o dos minutos. . IE se cuelga hasta que se completa, cambiar a otro programa en ejecución es el mismo.Cargando/Mostrando una gran cantidad de datos en la página web

tengo que arreglar esto - y lo ideal es que quiero lograr 2 cosas:

1) piezas individuales de la carga de la página por separado. Por lo tanto, la página puede mostrarse inicialmente sin la gran tabla de datos. Se colocará un div de carga allí hasta que esté listo.

2) No consuma tanta memoria o recursos locales durante el procesamiento, por lo que al menos pueden usar una pestaña/aplicación diferente al mismo tiempo.

¿Cómo haré para hacer ambas o cualquiera de estas?

Soy un programador de aplicaciones de oficio, así que todavía estoy un poco entusiasmado con las cosas que puedo hacer en un entorno web.

Saludos a todos.

Respuesta

2

En cuanto a la primera parte, se llama Ajax: visualizar la página sin la mesa, o con una mesa vacía , y luego use las solicitudes ajax para buscar los datos (en html o cualquier formato de datos) y mostrarlos.

En cuanto a la segunda parte, desea algo llamado lazyloading: la posibilidad de cargar datos solo cuando el usuario lo necesita, es decir, cuando está en la parte visible del documento. Puede mirar this question para obtener una biblioteca de DataGrid capaz de manejar millones de filas.

2

dos opciones básicas:

  • paginación
  • carga lenta (carga como usuario se desplaza hacia abajo). Ver this jQuery plugin
Cuestiones relacionadas