Question

Supposons que j'ai une liste de quelques milliers d'organisations et les besoins d'un utilisateur pour pouvoir sélectionner l'un d'entre eux. La liste est trop grande pour remplir dans un menu déroulant au chargement de la page, et l'utilisateur sait souvent ce qu'ils veulent, mais ce n'est pas la première partie du nom de l'organisation. Autrement dit, ils savent « Collections », mais pas le nom précis de l'organisation est « Département des collections ». Ainsi, l'utilisateur aura besoin / vouloir saisir des informations.

Il est assez facile d'utiliser un champ de saisie de autocompleting de quelque sorte, mais je ne veux pas permettre à l'utilisateur de saisir du texte aléatoire -. Ils doivent choisir l'une des organisations explicitement

Quelle est la meilleure solution?

Était-ce utile?

La solution

Je l'OMI simplifiera l'interface utilisateur à:

  • une zone de texte pour entrer dans la chaîne
  • un menu déroulant pour définir les options de filtre comme: « contient | | commence par se termine par »
  • un bouton "Rechercher"

Alors, je vais remplir une vue basée sur la chaîne de recherche et laisser l'utilisateur choisir l'élément valide ou affiner la recherche

OMI avec quelque chose comme un auto-complet, vous finirez par écrire beaucoup de code pour obtenir l'analyse syntaxique à la chaîne et puis il peut y avoir des considérations de charge côté serveur ...

HTH.

vérification supplémentaire si « navigation facettées » est quelque chose dont vous avez besoin. Ref .: http://www.alistapart.com/articles/design- modèles facettes de navigation /

Autres conseils

Il me semble donc à vos principaux défis à

  1. express que l'utilisateur doit sélectionner une organisation dans la liste (et seulement dans la liste).
  2. Express qui il y a beaucoup d'organisations sur la liste.
  3. Fournir un moyen pour l'utilisateur de trouver rapidement l'organisation sur la liste.

Je dirais présente un contrôle de sélection qui correspond avec le reste de votre conception avec une boîte de recherche juste au-dessus. Vous devriez alors page la liste car il y aura beaucoup de pages avec que de nombreux éléments indiquant que l'utilisateur doit certainement utiliser la recherche. La recherche agit essentiellement comme l'auto complète, mais au lieu des options trouvées changer le texte, il va changer le contenu de la liste paginée. Si vous faites cela sur un caractère par caractère (ou gaz avec noreferrer nofollow" réactive Extensions ), il est très clair que vous êtes juste filtrer la liste pour faciliter la sélection.

Vous pouvez utiliser un CustomValidator pour faire en sorte que la teneur en TextBoxes à contenu dans votre collection.

Vous pouvez utiliser l'Ajax AutoComplete Control: http: // www .asp.net / ajax / AjaxControlToolkit / samples / semi-automatique / AutoComplete.aspx . Vous pouvez choisir de ne faire une recherche si l'utilisateur a tapé dans un certain nombre de caractères.

Vous créerais une méthode Web statique pour interroger la collection (vous pouvez utiliser LINQ) et les organisations de correspondance de retour.

Vous avait évidemment besoin de valider l'entrée de zone de texte ensuite.

Est-il possible de structurer votre liste un peu plus comme un arbre, de sorte qu'il ne soit pas une liste unique. Par exemple. Pourriez-vous avoir un groupe comme « gouvernement Depts », puis ajoutez Département des collections à cela. Ensuite, vous demandez aux utilisateurs de sélectionner d'abord le niveau supérieur regroupement puis afficher une liste plus courte des organisations dans ce groupe?

Il me semble que si votre liste de données devrait vraiment être soit dans une base de données ou au moins stocké loin de l'interface utilisateur. Partout où il est vraiment stocké, placez un mot-clé pour chaque entrée, dites « Collection ». La liste des mots-clés pourrait être disponible dans le cadre de votre fonctionnalité de remplissage automatique. Ensuite, la recherche sur le mot-clé seul.

Si vous pouvez diviser les éléments en catégories, serait en utilisant une sorte d'aide de contrôle de l'arbre?

Ainsi, lorsque l'utilisateur clique sur un nœud que vous ne charger que les éléments de ce noeud. Et ainsi de suite.

Je casser en deux chemins ...

Utilisez une zone de texte autocompleting, pour la personne qui tape le titre correct (à savoir, Département des collections); et un bouton de recherche séparée pour rechercher des correspondances possibles. Le bouton de recherche ne vous amène à une page de résultats pour sélectionner le choix désiré. Cette fonctionnalité serait similaire à la recherche de chemin sur MSDN fonctionne.

D'abord les sons de vue de l'arbre refroidissent, mais êtes-vous certain qu'une classification unique réduira les données en ensembles faciles à gérer? Si 80% de vos données se classé comme « département gouvernemental » cela ne fonctionne pas vraiment les choses.

Le problème est que vous voulez des critères qui permet aux utilisateurs de diviser rapidement une grande liste en ensembles plus petits qui sont plus faciles à consommer. De plus, il devrait y avoir suffisamment de flexibilité pour réagir aux changements dans les données.

Je suggère d'utiliser un modèle de marquage comme iTunes. Dans ma bibliothèque « rock » décrit 80% de ma collection - mais encore une catégorisation utile pour quelque chose comme aléatoire au hasard. J'ai aussi la possibilité d'empiler des balises afin que je puisse utiliser le genre = « rock », décennie = « 1990 » et passer au crible rapidement mes données vers le bas pour ce qui est d'intérêt.

Dans l'interface utilisateur, je vous recommande une section qui permet à l'utilisateur d'appliquer des « filtres » qui est rien de plus que de sélectionner des valeurs spécifiques pour les balises. Briser la liste des pages dans et leur permettre de voir un décompte des correspondances possibles.

Scenerio: - Accédez à screeen XYZ et voir il y a 10.000 entreprises à choisir - Cliquez sur « classement » et sélectionnez « dept du gouvernement » et les mises à jour de la liste pour indiquer il y a maintenant 1000. - Cliquez sur « région » et sélectionnez « Sud » et voir ma chute de liste à 200. - liste Trier par nom et puis sélectionnez (ou faire défiler, peu importe)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top