J'espère que les gens d'ici peuvent m'aider avec quelques idées d'interface utilisateur qui permettent à un utilisateur de sélectionner les champs à afficher dans une "vue de données". La torsion ici est que la vue de données est un mélange entre une vue de liste orientée colonne simple et une vue de détails de formulaire.
Un court exemple de sortie pourrait être:
SomeField AnotherField ThirdField --------- ------------ ---------- Valeur1 Value2 Value3 ForthField: Value4 FifthField: Value5 SixthField: Value6
Les utilisateurs doivent pouvoir sélectionner les champs qu'ils souhaitent afficher sous forme de colonnes (alias "la première ligne"), puis les champs qu'ils souhaitent afficher dans le cadre d'une vue détaillée du formulaire (alias "les 2e à nième lignes").
Je pense à utiliser une grille de listes déroulantes (contenant les noms de champs) ... avec n colonnes et m lignes (limité à dire ... 25 colonnes par 10 lignes). Mais ... cela ne se traduira pas par une interface utilisateur super attrayante.
Vérifiez le premier exemple de la page de démonstration du plugin de grille ExtJS , c'est peut-être ce dont vous avez besoin!
Ai-je raison de dire que vous disposez de ± 250 champs de données et que vous souhaitez que l'utilisateur les arrange? Ensuite, les widgets déroulants ne sont certainement pas la voie à suivre!
Peut-être avez-vous une grille semblable à une feuille de calcul où vous pouvez taper du texte brut (pour servir d'étiquettes) et des champs (distingués du texte brut en les commençant par $, auto-complétés). Vos utilisateurs seraient-ils à l'aise avec cela?
Vous pouvez ajouter plus d'outils/balisage pour les lignes ou autres ornements.
Vous pouvez afficher toutes vos données dans des colonnes de manière standard, puis permettre à l'utilisateur de faire glisser les en-têtes des colonnes à afficher dans les détails du formulaire.
Jetez un œil à la démonstration de groupement Telerik DataGrid . Vous pouvez faire glisser un en-tête de colonne dans la zone supérieure en le marquant pour le regroupement. Dans votre cas, cette zone supérieure signifierait "colonne des détails du formulaire". La disposition de la ligne de la grille doit ensuite être adaptée pour afficher les colonnes sélectionnées dans les détails du formulaire.
Form details: ForthField FifthField SixthField
---------------------------------
SomeField AnotherField ThirdField
--------- ------------ ----------
Value1 Value2 Value3
ForthField: Value4 FifthField: Value5
SixthField: Value6
Que diriez-vous de leur donner la possibilité de créer des groupes ou des ensembles de champs.
Chacun de ces groupes peut avoir un ou plusieurs champs, et ils peuvent choisir si le groupe sera affiché sous forme de colonne ou de vue détaillée de formulaire.
Ils pourraient faire glisser (ou simplement déplacer) chaque groupe vers le haut ou vers le bas pour réorganiser la disposition.
Quelque chose comme ça:
La liste des listes déroulantes pour chaque groupe ne devrait pas être horizontale, mais vous avez l'idée.