Columnsizemode d'un datagridview

Résolu
Moundir76 Messages postés 286 Date d'inscription dimanche 3 octobre 2010 Statut Membre Dernière intervention 16 mai 2014 - 25 sept. 2013 à 09:43
Moundir76 Messages postés 286 Date d'inscription dimanche 3 octobre 2010 Statut Membre Dernière intervention 16 mai 2014 - 25 sept. 2013 à 15:01
Bonjour,

Dans un Tabcontrol (1049x789) j'affiche un composant Datagridview (1027x585).
Dans ce Datagridview j'ai de nombreuses colonnes. Et dans chaque colonne j'ai des infos pour chaque ligne. Certaines colonnes vont être composés de 3 caractères, et d'autres de 20 caractères.

Je souhaiterais que les colonnes s'ajustent pour afficher toutes les données des colonnes entièrement sans que le texte soit "caché".

J'ai donc essayé un

 For i As Integer = 0 To DataGridView1.ColumnCount - 1
                       DataGridView1.Columns(i).AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
        Next


Le datagridview prends bien toute la place nécessaire (1027), mais certaines colonnes sont trop petites par rapport à leur contenu et certaines sont trop grandes.

J'ai donc remplacé par :
 DataGridView1.Columns(i).AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells


Sauf que cette fois ci le datagridview est beaucoup trop grand et j'ai une scrollbar horizontale qui apparait.....

J'ai donc essayé :
DataGridView1.Columns(i).AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCellsExceptHeader


Mais le datagridview devient ridiculement petit.

Je cherche donc a faire un mix entre le fill qui prends la place nécessaire, et le DisplayedCellsExceptHeader qui ajuste correctement les colonnes pour voir les contenus "grands"


Ai-je été assez clair ?

Si vous avez une idée je suis preneur !

Cordialement

1 réponse

Zermelo Messages postés 378 Date d'inscription samedi 22 septembre 2012 Statut Membre Dernière intervention 13 août 2017 14
25 sept. 2013 à 11:48
Faites un algorithme qui calcule la largeur maximale de chaque colonne.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 236
25 sept. 2013 à 11:55
Bonjour et un salut particuler à Zermelo
si, comme on peut le supposer, ce datagridview affiche les champs d'une base de données, on connaît (type de champ) le nombre maxi de caractères.
La largeur graphique correspondante est alors à calculer en fonction de la police utilisée, de sa taille et de son style.
0
Moundir76 Messages postés 286 Date d'inscription dimanche 3 octobre 2010 Statut Membre Dernière intervention 16 mai 2014
25 sept. 2013 à 15:01
Bonjour,

Dommage, je pensais qu'il pouvait y avoir un subterfuge...
Je vais donc me tourner vers cette solution !
0