2010-11-11 5 views
2

Je suis confronté à un tel problème: il est nécessaire de sélectionner un mécanisme permettant à l'utilisateur de masquer/afficher des colonnes dans un DataGrid.Choix du mécanisme "sélecteur de colonne visible" pour une grille

L'un des moyens suggérés est d'ajouter un bouton (qui ressemble à un en-tête de colonne, mais sans colonne). Lorsque l'utilisateur clique dessus, la liste des colonnes s'affiche et l'utilisateur peut sélectionner des colonnes à masquer/afficher. Mais est-il possible d'avoir une telle colonne dans une grille (juste un en-tête sans colonne comme exemple - vous pouvez voir la grille dans Mozilla Thunderbird)?

L'autre, moins probable, était la liste déroulante, apparaissant lorsque la souris survolait le DataGrid. Mais cette liste serait rarement utilisée. Donc, cette liste clignotante serait juste un casse-tête pour un utilisateur final.

Les façons de cliquer sur la souris. J'ai juste peur, qu'ils seraient laissés inaperçus et l'utilisateur aurait des jours difficiles en utilisant une grille avec une douzaine de colonnes.

Des idées à ce sujet? Y a-t-il un moyen d'atteindre la première voie, ou peut-être y a-t-il une meilleure approche pour résoudre ce problème?

Peut-être que ce serait mieux si je fournissais juste une photo de cet "en-tête sans colonne" magique, pour échapper à la confusion.

Il y a un en-tête de colonne cliquable dans une grille, mais il n'y a pas de colonne en dessous.

Il y a une zone juste au-dessus de la barre de défilement dans le dataGrid, c'est peut-être le bon endroit pour mettre cette fonctionnalité. Mais il semble que je ne peux pas l'utiliser.

Répondre

0

Peut-être l'approche combinée - un petit bouton en forme de X dans l'en-tête pour cacher la colonne, et une liste déroulante (invoquée en quelque sorte) pour le restaurer. En-tête sans colonne ... C'est étrange et s'il y en a beaucoup, c'est encore plus étrange. Editer: vous avez besoin d'un moteur de rendu d'en-tête personnalisé. S'il rend le dernier en-tête (devrait être capable de le déterminer avec la propriété 'propriétaire' et l'information sur la colonne), il affiche le bouton pour la sélection de la colonne. Sinon, il affiche le bouton pour cacher la colonne.

+0

J'ai fourni quelques détails pour le rendre plus clair .. > invoqué en quelque sorte c'est ce que je cherche .. mystère « D'une certaine façon ») > s'il y a beaucoup d'entre eux Non, non .. seulement 1 .. J'espère que l'image permettrait d'éliminer ce malentendu .. – Antenka

+0

Il peut être créé juste au-dessus du contrôle DataGrid. Bien sûr, il occlut une partie de l'en-tête, donc l'en-tête doit être réglé pour cela. Solution pas très propre, mais simple (si vous pouvez traiter avec l'en-tête). – alxx

+0

Ou faites-en partie du dernier en-tête (vous devez changer l'en-tête de toute façon). – alxx

Questions connexes