2010-07-20 11 views
5

Me encuentro en un aprieto en el que creo que sé la solución, pero me gustaría preguntar en el campo. Tengo una página ASP.NET (C# 2.0 framework) dentro de un sitio que se usa como búsqueda. Control gridview estándar, 5 columnas de datos, hipervínculo para la sexta columna para hacer algo con el registro que el usuario desea seleccionar.¿hay una buena manera de mostrar demasiada información en ASP.NET?

Mi pregunta es acerca de cómo mostrar mejor 'posibles' 100k registros en esa vista de cuadrícula? Tal como está ahora mismo, brotaría unos cuantos canas más antes de que devuelva un resultado procesado. La vista de cuadrícula, por su propiedad real, puede mostrar aproximadamente 20 filas de datos en la pantalla a la vez, por lo que paginar los datos todavía me da 5000 páginas. Al agregar una búsqueda tipo rolodex en A-Z, el retorno más grande configurado en 'J' me da 35000 registros (donde alas 'X' solo tiene 54).

¿Acabo de romper el rolodex más pequeño o hay una mejor manera de manejar una situación como esta?

gracias de antemano!

Edición: Ya tengo el procedimiento almacenado que rellena esta configuración para buscar como GenericTypeTea, incluso con la búsqueda en 'J' que me daría 1750 páginas. La razón por la que tengo tantos datos es la cantidad de participantes en la política de automóviles dada. El administrador debe poder buscar un nombre de pila, o un nombre parcial. 'Jones' tiene 1209 registros y 'Smith' tiene 2918, por lo que incluso eso genera un resultado de rebote.

edición # 2: añade 'una posible' 100k, no hay Garantía de que la cuenta tendrá que muchos registros, por otro lado, podrían tener más :(

+0

¿Espera que los usuarios examinen 100k registros antes de que encuentren lo que necesitan? –

+0

en este momento se trata de una lista de "usuarios" ordenados por apellido, por lo que el administrador podría al menos tener que desplazarse a través de una gran cantidad de registros antes de llegar a lo que quiere. –

+0

Por definición, no, porque hay una buena manera de mostrarlo, ¡no es demasiado! Y si no hay una buena manera de mostrarlo, ¡hay demasiado! – Eric

Respuesta

7

Autocompletar es su amigo :)

Simplemente deje que las personas ingresen los primeros 2 o 3 caracteres y luego filtre sus búsquedas.

Con un conjunto de datos tan grande, no creo que la paginación tenga mucho sentido.

jQuery tiene una buena página de ejemplo AutoComplete Examples

+0

el método de devolución de llamada se ve de la mejor manera, pero ¿no sería doloroso escribir esa inicial 'A' y tener 26192 registros intentando cargar? –

+0

Incluso podría obtener la autocompletar para buscar "jones ha", no debería ser demasiado difícil para serch. Apellido y nombre –

+0

Solo devolverá el nombre y apellido (tal vez una url) a la interfaz de usuario.si haces cumplir que hay 3 caracteres antes de que busque el apellido, un espacio y 1 carácter en el nombre, debería ser bastante rápido –

2

filtros. No muestres tanta información. Muestre los primeros registros x. Y más allá de eso, el usuario deberá ser más preciso con su búsqueda. Nadie buscará en 100k registros para el que quiere. Lo limitaría a un par de cientos como máximo (10 páginas, 20 por página).

aconsejar al usuario el número de resultados que había sin embargo, o dar alguna pista para que sepan que hay muchos que no se muestran, y que necesitan para ser más específicos en su búsqueda

+0

Sí, suena como el camino. El problema es que cuando originalmente probamos esto con 50-100 registros en total, a la gente le gustó cómo se podía ver todo y ahora se esperaba. Estoy pensando que Simon tiene la idea, solo necesito integrarlo en lo que tengo. –

+0

@SomeMiscGuy, eso o necesita implementar una técnica de carga diferida, similar a lo que se intenta aquí http://stackoverflow.com/questions/3283669 – CaffGeek

0

Me parece como agregar capacidades de búsqueda sería más eficiente que el filtrado o la paginación.

Cuestiones relacionadas