web-dev-qa-db-fra.com

Réorganiser les lignes de la grille lorsque le glisser n'est pas disponible

J'ai une grille où l'utilisateur peut réorganiser les lignes. Cependant, ma cible d'installation ne permettra pas de faire glisser des éléments pour les réorganiser. Quelle est la meilleure stratégie de conception pour permettre la réorganisation?

Pour permettre cela, j'ai une flèche vers le haut "Déplacer vers le haut" et un bouton "Déplacer vers le bas" vers le bas dans chaque ligne. Je me rends compte que c'est redondant, par exemple cliquer sur "Déplacer vers le bas" sur la ligne 1 a le même effet que sur "Déplacer vers le haut" sur la ligne 2. Je pourrais en supprimer un pour libérer de l'immobilier et améliorer les performances.

Dois-je en supprimer un, et si oui, lequel?

Existe-t-il une meilleure stratégie globale?

1
user2411234

Les utilisateurs veulent parfois déplacer les choses vers le haut, parfois les déplacer vers le bas; vous devez donc proposer les deux.

Demander aux utilisateurs de calculer une autre façon de réaliser leur tâche réduit la convivialité.

Considérez la liste des tâches quotidiennes suivante:

  • Chambre bien rangée.
  • Achetez un livre sur Amazon.
  • Répondez au courriel de John.

Une personne peut aller:

On ne peut pas me demander de nettoyer ma chambre, c'est la moindre de mes priorités pour aujourd'hui.

Et parfois, elle ira:

J'ai vraiment besoin de répondre au courrier électronique de John, sinon je ne pourrai pas renouveler le contrat de location. Je dois d'abord faire ça.

Si vous ne faites que monter ou descendre, dans l'un de ces cas, vous demandez pratiquement à vos utilisateurs d'interagir avec un élément autre que l'élément d'intérêt et d'accomplir leur tâche de manière compliquée.

5
Izhaki

Au lieu d'avoir deux boutons pour chaque ligne, vous ne pouvez avoir que deux boutons au-dessus de la grille ("UP" et "DOWN") qui déplaceront la ligne sélectionnée vers le haut ou vers le bas.

De plus, vous pouvez ajouter deux autres boutons au-dessus de la grille ("PREMIER", "DERNIER"), qui déplaceront la ligne sélectionnée au début ou à la fin de la liste. Cela réduira la nécessité d'appuyer plusieurs fois sur le bouton HAUT/BAS.

1
DesignerAnalyst

En général -

Vous devrez examiner les cas d'utilisation que vous souhaitez couvrir: vous avez dit qu'il s'agissait "d'événements séquentiels qui se produiraient", ce qui semble que les utilisateurs souhaitent avancer ou retarder des événements (1). Vous avez également dit que des mouvements parfois importants sont nécessaires (2). Les questions supplémentaires sont:

  1. Combien d'éléments sont (généralement) dans la liste?

  2. De combien d'éléments l'utilisateur a-t-il (généralement) besoin pour se déplacer (vers différentes destinations)?

  3. Les utilisateurs doivent-ils déplacer des lignes uniques ou des blocs entiers de lignes?

  4. Les emplacements haut et bas sont-ils des cibles souvent utilisées?

(1) nécessite des fonctions de montée et de descente sur tous les éléments, comme @Izhaki l'a déjà très bien expliqué.

(5) nécessite la possibilité de marquer une plage de lignes, et le mouvement de ce bloc. La solution typique est une case à cocher sur chaque ligne et des fonctions de barre d'outils fonctionnant sur les lignes sélectionnées.

(6) nécessitera une fonction de déplacement vers le haut en plus du déplacement vers le haut (et de même pour la direction vers le bas).

(2) pourrait - selon la réponse à (3) - nécessiter la saisie de la destination au lieu de déplacer de petites étapes. Une solution simple est un champ de saisie indiquant la position actuelle et permettant de saisir une nouvelle position. Dans ce cas, comment l'utilisateur connaît-il la nouvelle position (en supposant autant d'éléments que la destination n'est pas visible sur le même écran)? Si les grands mouvements sont (presque) toujours en haut ou en bas, peut-être que cette solution est suffisante?

(4) peut même indiquer une conception complètement différente: si l'ordre doit être reconstruit, choisir l'élément suivant dans une liste de ceux qui restent peut-être plus approprié (c.-à-d. Recréer une nouvelle liste à partir d'une liste existante qui est vidée dans le processus).

en supposant -

vous n'avez pas besoin de déplacer des blocs de lignes, et vous avez une grande liste de lignes où seules quelques-unes ont besoin d'être réorganisées, vous pourriez vous retrouver avec une conception qui a un déplacement vers le haut, un déplacement vers le haut sur 10 lignes, un déplacement vers le haut -1 ligne, déplacer vers le bas sur 1 ligne, déplacer vers le bas sur 10 lignes, déplacer vers le bas en tant que fonctions par ligne.

L'affichage de six boutons par ligne est visuellement beaucoup trop occupé, mais vous pouvez envisager de ne réserver que de l'espace pour ces fonctions et de les afficher uniquement en survol (si cela est disponible sur votre appareil cible).

0
virtualnobi