No estoy seguro de la mejor manera de manejar alguna paginación que necesito realizar en una tabla que podría llegar a ser muy grande (5,000 filas más).
Mi primera pregunta es si la cantidad de filas que se muestran por página debe ser dictada solo por el diseño, o si la cantidad de páginas también debe considerarse. Por ejemplo, ¿debería decir <1000 mostrar 20 filas,> = 1000 mostrar 30 filas?
La siguiente pregunta es cuál es la mejor manera de navegar entre las páginas, suponiendo que el usuario haya filtrado la tabla tanto como pueda y se hayan quedado con 50 páginas de información, ¿deberían obtener un cuadro de entrada para saltar a la página 45? ¿O deberían saltarse los botones (1) saltar (5)? En este momento no sé cómo el usuario final va a usar las tablas, así que no estoy seguro de qué opción dejar que intenten primero.
Finalmente, ¿alguien tiene buenos ejemplos de paginación bien hechos que puedan compartir? ¡Siempre estoy buscando un buen material de referencia!
Esto puede o no ser una paginación bien hecha, pero así es como hago la paginación en mi aplicación web:
|< First, << Previous, Page [5] of 12, Next >>, Last >|
Las cuatro opciones externas son enlaces, mientras que Page [5] of 12
es un formulario, con [5] como campo de entrada. Para los usuarios con JavaScript habilitado, oculto el botón de envío y envío el formulario en el evento de desenfoque o presiono una tecla. El usuario tiene la opción de cuántas filas desea mostrar, que puede seleccionar de un menú desplegable: 10, 20, 50, 100, Todos. También proporciono la clasificación y el filtrado de los resultados además de la paginación, aunque eso puede no tener sentido en cada situación.
Editar:
Aquí hay un fragmento de una maqueta de nuestra aplicación web para darle una mejor idea. En esta versión, las palabras se han omitido de los botones, pero aparecen como información sobre herramientas al pasar el mouse después de un ligero retraso. Sin embargo, puede encontrar que mantener las palabras dará como resultado un mayor nivel de usabilidad.
Algunas otras cosas para señalar:
Perdón por tal respuesta, pero depende . ¿Qué tipo de contenido tiene y qué busca el usuario? ¿Cuáles son los objetivos del usuario? ¿Es un sitio web o una aplicación?
En muchos casos, podría evitar la paginación utilizando el desplazamiento infinito, por ejemplo (consulte los resultados de búsqueda de Búsqueda de imágenes de Google ).
El problema con la paginación es que las páginas en sí no tienen significado. ¿Por qué debería ir a la página 45? ¿Por qué no 38? Si el contenido está ordenado, puede intentar dar nombres significativos a las páginas (como letras de un alfabeto o rango de fechas o cualquier otra cosa que tenga sentido). La cantidad de filas por página debe ser lo más grande posible porque el desplazamiento generalmente proporciona una experiencia mucho mejor que navegar por las páginas (sin embargo, no es una regla general y hay algunas excepciones).
Y para los ejemplos y buenas prácticas aquí hay un gran artículo .
En general, el número de elementos por página es algo que usted determina según los siguientes criterios:
Si respondes las preguntas anteriores, te llevarán muy bien a las respuestas para tu segunda pregunta. La paginación es un producto de los datos que tiene y la cantidad de elementos que está mostrando. Mi consejo es determinar si sus usuarios desean especificar qué página desean ver. Puede resolver esto haciendo pruebas de usuario y pensando qué tipo de información se enumera. Por ejemplo, los resultados de búsqueda rara vez son lo suficientemente específicos como para poder decir "Quiero ir a la página 47", ya que generalmente están ordenados por un algoritmo críptico y opaco. Pero si está enumerando, por ejemplo, nombres en orden alfabético, ir a la página 47 puede ser muy intuitivo.
Del mismo modo, el tipo de datos que está mostrando también puede afectar la navegación y es posible que desee considerar el patrón de diseño de navegación facetado para simplificar las cosas. En el ejemplo que acabo de dar sobre los nombres alfabéticos, puede considerar la paginación utilizando letras (A | B | C | D, etc.) y páginas dentro de cada letra si tiene muchos datos.
Concretamente:
Ejemplos de paginación bien hechos:
Patrones de paginación:
En cuanto a su primera pregunta: soy fanático de la coherencia (y la mayoría de los usuarios también lo son). No confunda al usuario y hágales pensar por qué ven más filas esta vez ... Incluso puede dejar que seleccionen "elementos por página", lo cual es una práctica muy común y útil.
Los usuarios prefieren desplazarse y luego buscar. Es mucho más fácil operar la rueda de desplazamiento que apuntar a pequeños enlaces de navegación.