Pregunta

Supongamos que tengo una lista de un par de miles de organizaciones y que un usuario necesita para ser capaz de seleccionar uno de ellos. La lista es demasiado grande para poblar en un desplegable de carga de la página, y el usuario a menudo sabe lo que quiere pero no es la primera parte del nombre de la organización. Es decir, que saben "Colecciones", pero no precisa que el nombre de la organización es "Departamento de Colecciones". Por lo que el usuario necesita / quiere teclear la información.

Es bastante fácil de usar un cuadro de texto autocompletar de algún tipo, pero no quiere permitir que el usuario escriba en el texto al azar -. Que tienen que elegir una de las organizaciones de forma explícita

¿Cuál es la mejor solución?

¿Fue útil?

Solución

OMI que va a simplificar la interfaz de usuario:

  • un cuadro de texto para introducir la cadena
  • un menú desplegable para configurar las opciones de filtro como: "contiene | | comienza con termina con"
  • un botón "Buscar"

A continuación, voy a llenar una vista basada en la cadena de búsqueda y dejar que el usuario elija el elemento válido o refinar la búsqueda

OMI con algo así como un auto-completado, se va a terminar de escribir un montón de código de análisis para llegar a la cadena y entonces no podría ser del lado del servidor consideraciones de carga ...

HTH.

En comprobación adicional si 'de navegación facetada' es algo que necesita. Ref .: http://www.alistapart.com/articles/design- patrones facetas navegación /

Otros consejos

Así que me parece que sus principales retos son a

  1. expreso que el usuario tiene que seleccionar una organización de la lista (y sólo de la lista).
  2. expreso que hay una gran cantidad de organizaciones en la lista.
  3. proporcionar algunos medios para que el usuario encontrar rápidamente la organización en la lista.

Yo diría que el control selector de un presente que encaja con el resto de su diseño con un cuadro de búsqueda justo encima de él. A continuación, debería página de la lista, ya que habrá un montón de páginas con muchos elementos que indiquen que el usuario debe utilizar definitivamente la búsqueda. La búsqueda actúa esencialmente como el auto completo, pero en lugar de las opciones que se encuentran cambiando el texto, que va a cambiar el contenido de la lista de paginado. Si lo hace en carácter por carácter (o de motor usando la Extensiones reactiva ), es muy claro que está filtrando la lista para hacer la selección más fácil.

Se puede usar un CustomValidator para asegurar que el contenido en cuadros de texto contenida en su colección.

Se puede utilizar el control de Autocompletar Ajax: http: // www .ASP.NET / ajax / AjaxControlToolkit / Samples / Autocompletar / AutoComplete.aspx . Puede optar sólo para hacer una búsqueda si el usuario ha escrito en un determinado número de caracteres.

Se crearía un método estático Web para consultar la colección (se puede utilizar LINQ) y las organizaciones de retorno a juego.

Es obvio que necesitaría para validar la entrada de texto después.

¿Es posible estructurar su lista un poco más como un árbol, por lo que no es una sola lista. P.ej. ¿Podría tener una agrupación como "Departamentos de Gobierno" y luego añadir Departamento de Colecciones a eso. Luego preguntará a los usuarios seleccionar primero el más alto nivel de agrupación luego mostrarles a listas más cortas de las organizaciones en ese grupo?

Me suena como si su lista de datos debe ser realmente, ya sea en una base de datos o al menos almacenan bien lejos de la interfaz de usuario. Dondequiera que su realmente almacenado, coloque una palabra clave para cada entrada, diga "Colección". La lista de palabras clave podría estar disponible como parte de la funcionalidad de autocompletar. A continuación, buscar en la palabra clave solo.

Si se pudiera dividir artículos en categorías, sería el uso de algún tipo de ayuda control de árbol?

Así que, cuando el usuario hace clic en un nodo que sólo cargan artículos en ese nodo. Y así sucesivamente.

Me rompería en dos caminos ...

Utilice un cuadro de texto autocompletar, para la persona que escribe el título correcto (es decir, Departamento de Colecciones); y un botón de búsqueda separada para la búsqueda de posibles coincidencias. El botón de búsqueda le tomaría a una página de resultados para seleccionar la opción deseada. Esta funcionalidad sería similar a la forma en la búsqueda en MSDN funciona.

Inicialmente una vista de árbol suena bien, pero ¿estás seguro de que una sola clasificación reducirá los datos en conjuntos manejables? Si el 80% de los datos se clasifica como "departamento gubernamental" esto no ayuda realmente las cosas.

El problema es que desea criterios que permiten a los usuarios dividir rápidamente una gran lista en conjuntos más pequeños que son más fáciles de consumir. Además, debe haber suficiente flexibilidad para reaccionar a los cambios en los datos.

Me gustaría sugerir el uso de un patrón marcado como iTunes. En mi biblioteca "roca" describe el 80% de mi colección - pero sigue siendo una categorización útil para algo así como aleatoria al azar. También tengo la capacidad de apilar las etiquetas para que pueda utilizar género = "roca", década = "1990" y rápidamente tamizar mis datos a cualquier cosa que sea de su interés.

En la interfaz de usuario, lo recomiendo una sección que permite al usuario aplicar "filtros" que es nada más que la selección de valores específicos para las etiquetas. Romper la lista a cabo en páginas y les permiten ver un recuento de posibles coincidencias.

Scenerio: - Vaya a screeen XYZ y vea que hay 10.000 empresas para elegir - Haga clic en la "clasificación" y seleccione "dept Gobierno" y la lista de actualizaciones para indicar que ahora hay 1.000. - Haga clic en "región" y seleccione "Sur" y ver a mi lista desplegable a 200. - Ordenar la lista por su nombre y luego seleccione (o desplazarse a través de, lo que sea)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top