Comment cadrer les entêtes de colonnes ? (Les entêtes, pas les [Résolu]

scn68100 94 Messages postés dimanche 27 août 2006Date d'inscription 28 novembre 2016 Dernière intervention - 27 nov. 2016 à 06:44 - Dernière réponse : scn68100 94 Messages postés dimanche 27 août 2006Date d'inscription 28 novembre 2016 Dernière intervention
- 28 nov. 2016 à 15:45
Bonjour,
Comment cadrer les entêtes de colonnes ? (Les entêtes, pas les cellules)
Par exemple : Article Prix, je voudrais que "Article" soit cadré à gauche, et "Prix" cadré à droite.
Je ne trouve pas les propriétés à modifier pour obtenir cela ….
Cordialement
SC
Afficher la suite 

16 réponses

Répondre au sujet
cs_Le Pivert 5065 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 13 avril 2018 Dernière intervention - Modifié par cs_Le Pivert le 28/11/2016 à 11:33
+1
Utile
1
C'est possible d'une façon simple:

 With DataGridView1
                .Columns(0).Name = "Nom" 
                .Columns(0).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleRight
                .Columns(0).SortMode = DataGridViewColumnSortMode.NotSortable
                .Columns(1).Name = "Prénom" 
                .Columns(1).HeaderCell.Style.Alignment = DataGridViewContentAlignment.BottomLeft
                .Columns(1).SortMode = DataGridViewColumnSortMode.NotSortable
                .Columns(2).Name = "Adresse"  
                .Columns(2).HeaderCell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter
                .Columns(2).SortMode = DataGridViewColumnSortMode.NotSortable
             End With


DataGridViewColumnSortMode.NotSortable


ne permet pas le tri de la colonne,mettre:

  .Columns(2).SortMode = DataGridViewColumnSortMode.Automatic


mais en cas d'alignement à droite, le texte n'est pas totalement à droite

faire des essais
Cette réponse vous a-t-elle aidé ?  
scn68100 94 Messages postés dimanche 27 août 2006Date d'inscription 28 novembre 2016 Dernière intervention - 28 nov. 2016 à 15:45
Bravo, cela marche impec !
Peut être problème sur machine client avec d'autre font ...
Merci
Commenter la réponse de cs_Le Pivert
cs_Le Pivert 5065 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 13 avril 2018 Dernière intervention - 27 nov. 2016 à 12:02
0
Utile
Bonjour,

Il faut deviner quel controle tu utilises!

datagridview:

http://plasserre.developpez.com/cours/vb-net/?page=ui-winforms5#LVIII-Q-2

Listview

http://plasserre.developpez.com/cours/vb-net/?page=ui-winforms3#LVIII-H-4-a

et tout cela après une petite recherche sur Google!
Commenter la réponse de cs_Le Pivert
scn68100 94 Messages postés dimanche 27 août 2006Date d'inscription 28 novembre 2016 Dernière intervention - 27 nov. 2016 à 13:24
0
Utile
Bonsoir,
Aie, c'est vrais que j'ai oublié de préciser !
Je parle bien d'une DataGridView
Le lien donne beaucoup d'information, mais ne parle hélas pas du cadrage de l'entête des colonnes. Ou je n'ai pas su trouver ...
Commenter la réponse de scn68100
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 11 avril 2018 Dernière intervention - 27 nov. 2016 à 13:33
0
Utile
Bonjour
ce "cadrage" n'existe à ma connaissance pas.
Seule solution, à mon avis : déterminer la largeur graphique du texte et compléter le texte par autant d'espaces que nécessaire, soit à gauche, soit à droite (selon que l'on veut l'alligner à gauche ou à droite).
Lourd, lourd de chez relou pour un "confort" sujet à caution.
Commenter la réponse de ucfoutu
cs_Le Pivert 5065 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 13 avril 2018 Dernière intervention - 27 nov. 2016 à 15:13
0
Utile
Comme te l'a dit ucfoutu (que je salue) c'est lourd de chez relou.

Mais si tu veux t'y atteler, voici un exemple:

https://www.codeproject.com/articles/33911/datagridview-custom-headers-in-vb-net

Commenter la réponse de cs_Le Pivert
scn68100 94 Messages postés dimanche 27 août 2006Date d'inscription 28 novembre 2016 Dernière intervention - 27 nov. 2016 à 17:37
0
Utile
Bonsoir,
Merci à vous
Effectivement, la solution est trop lourde ....
Tant pis Je garde la cadrage initial
Cordialement
Commenter la réponse de scn68100
cs_Le Pivert 5065 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 13 avril 2018 Dernière intervention - 27 nov. 2016 à 17:51
0
Utile
5
Tu peux tricher en faisant comme cela:

'On donne le nom des colonnes

.Columns(0).Name = "    Date" ' a droite

.Columns(1).Name = "Piste" ' a gauche

.Columns(2).Name = "  Titre" ' au milieu

.Columns(3).Name = "Artiste"

.Columns(4).Name = "Album"


mais c'est du bricolage!

scn68100 94 Messages postés dimanche 27 août 2006Date d'inscription 28 novembre 2016 Dernière intervention - 27 nov. 2016 à 18:51
Solution quelque peu aléatoire si l'appli doit être distribuée.
Pourquoi ? parce qu'il suffit par exemple et entre autres, que la police utilisée sur la machine de développement ne soit pas présente sur celle d'exécution et qu'elle soit alors remplacée par une autre police qui, elle, "occupera" une largeur graphique différente.
Voilà pourquoi je disais plus haut :
déterminer la largeur graphique du texte

Si tu la retiens toutefois, pense au moins à utiliser une police à échappement fixe.
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 11 avril 2018 Dernière intervention > scn68100 94 Messages postés dimanche 27 août 2006Date d'inscription 28 novembre 2016 Dernière intervention - 27 nov. 2016 à 19:57
Oups !
Je ne sais comment présenter mes excuses.
Je m'aperçois que j'ai modifié le message de scn68100 en croyant le commenter ! (erreur de bouton).
J'ai honte !!!!!!!
Je vais essayer de me rattraper un peu :
Le message de scn68100, disait à peu près ceci :
"je trouve cette solution assez astucieuse et m'en veux de ne pas y avoir pensé".
scn68100 94 Messages postés dimanche 27 août 2006Date d'inscription 28 novembre 2016 Dernière intervention > ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 11 avril 2018 Dernière intervention - 28 nov. 2016 à 06:55
Pas grave ...
cs_Le Pivert 5065 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 13 avril 2018 Dernière intervention > scn68100 94 Messages postés dimanche 27 août 2006Date d'inscription 28 novembre 2016 Dernière intervention - 28 nov. 2016 à 07:57
Je viens de m'apercevoir que la solution que j'ai donné, ucfoutu l'avait décrite dans son message.

http://codes-sources.commentcamarche.net/forum/affich-10071339-comment-cadrer-les-entetes-de-colonnes-les-entetes-pas-les#3

@+
scn68100 94 Messages postés dimanche 27 août 2006Date d'inscription 28 novembre 2016 Dernière intervention > cs_Le Pivert 5065 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 13 avril 2018 Dernière intervention - 28 nov. 2016 à 09:04
C'est vrais, mais vraiment trop lourd ...
Merci
Commenter la réponse de cs_Le Pivert
Whismeril 11407 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 20 avril 2018 Dernière intervention - 28 nov. 2016 à 07:06
0
Utile
2
Bonjour
je ne suis pas sûr de comprendre ce que veut dire "cadrer", si comme le suggèrent les réponses mes mes amis (que je salue), tu veux aligner le texte, alors en cliquant sur le datagridview en mode design, tu vas dans la fenêtre propriétés.
Tu cliques sur les 3 petits points de la propriété ColumnHeadersDefaultCellStyle, et dans la fenêtre qui s'affiche tu modifies la propriété Alignement
scn68100 94 Messages postés dimanche 27 août 2006Date d'inscription 28 novembre 2016 Dernière intervention - 28 nov. 2016 à 07:20
Certes, mais cette propriété s'applique à TOUTES les entêtes ...
Comme expliqué dans les messages ci-dessus, on en veut une à droite, une à gauche, ....
Whismeril 11407 Messages postés mardi 11 mars 2003Date d'inscriptionContributeurStatut 20 avril 2018 Dernière intervention - 28 nov. 2016 à 11:51
Oui, tu gères les entêtés majoritaires ainsi, et après, aux quelques colonnoque tu veux modifier, tu appliques un unnstyle spécifique pour le header.
Commenter la réponse de Whismeril

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.