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

cs_Benouille Messages postés 215 Date d'inscription jeudi 24 octobre 2002 Statut Membre Dernière intervention 7 septembre 2007 - 7 mars 2007 à 09:55
chris_brabant Messages postés 64 Date d'inscription dimanche 24 juillet 2005 Statut Membre Dernière intervention 29 septembre 2014 - 20 mars 2009 à 09:09
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

chris_brabant Messages postés 64 Date d'inscription dimanche 24 juillet 2005 Statut Membre Dernière intervention 29 septembre 2014
20 mars 2009 à 09:09
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à
cs_Benouille Messages postés 215 Date d'inscription jeudi 24 octobre 2002 Statut Membre Dernière intervention 7 septembre 2007
7 mars 2007 à 09:55
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é.
Rejoignez-nous