REDIMENSIONNER LES COLONNES D'UN CONTRÔLE DATAGRID D'APRÈS SON CONTENU

Signaler
Messages postés
215
Date d'inscription
jeudi 24 octobre 2002
Statut
Membre
Dernière intervention
7 septembre 2007
-
Messages postés
64
Date d'inscription
dimanche 24 juillet 2005
Statut
Membre
Dernière intervention
29 septembre 2014
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/40529-redimensionner-les-colonnes-d-un-controle-datagrid-d-apres-son-contenu

Messages postés
64
Date d'inscription
dimanche 24 juillet 2005
Statut
Membre
Dernière intervention
29 septembre 2014

Bonjour, et désolé de répondre deux ans après !
ca pourra servir à quelqu'un d'autre peut-être ...

la "formule à la con" sert à AUGMENTER légèrement la largeur de l'entête de colonne par rapport à la taille du texte qu'elle contient (ca n'est donc pas dégressif).
La raison ? si on ne fait pas ca, l'entête n'apparait pas complètement, le dernier caractère au moins est toujours "rogné". Ca doit être dû, à mon avis, au fait qu'un espace est automatiquement ajouté par le contrôle DATAGRID AVANT et APRES le texte dans l'entête de colonne. Donc Graphic.MeasureString ne suffit pas.
De plus, je ne sais pas comment récupérer cette valeur en temps réel, donc j'ai déterminé la "formule à la con" de manière empirique en faisant des essais (par dichotomie en quelque sorte).

Faites l'essai sans la "formule à la con", et vous verrez la différence.

Voilà voilà
Messages postés
215
Date d'inscription
jeudi 24 octobre 2002
Statut
Membre
Dernière intervention
7 septembre 2007
1
g.MeasureString(s, col_font)

pas mal pas mal ...

quelle est l'utilité de la formule à la con?
tmp_sz = g.MeasureString(s, col_font)
sg = tmp_sz.Width * (1 + (2 / tmp_sz.Width)) ' formule à la con ...
et entre nous soit dit, si le commentaire dit effectivement ce que c'est (une formule à la con donc), il eut été plus utile de dire le pourquoi du besoin de ce petit pourcentage (dégressif en plus apperemment) ajouté.