Bonjour,

Je voudrais que la largeur de certaines colonnes de mon DataGridView soit réglée automatiquement en fonction du contenu le plus large des cellules de la colonne mais dans le même temps pour d'autres colonnes je veux une largeur fixe (dans le cas où le contenu est très large) et si le contenu dépasse la largeur de la colonne je voudrais que la hauteur de la ligne soit réglée automatiquement pour que le contenu s'affiche en entier dans la cellule sur plusieurs lignes.
Dans l'idéal il faudrait que la largeur de la colonne 9 soit réglée à 300 uniquement si au moins le contenu de l'une de ses cellules dépasse cette largeur et réglée automatiquement dans le cas contraire.

Or ça ne fonctionne pas !

Quelqu'un a-t-il la solution et un exemple de code à me fournir ?
Un grand merci d'avance ...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Me.DataGridView1.DataSource = MonDataSet
Me.DataGridView1.DataMember = "Propriétés"
Me.DataGridView1.Columns(0).ReadOnly = True
Me.DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
 
Me.DataGridView1.AutoResizeColumn(0)
Me.DataGridView1.AutoResizeColumn(1)
Me.DataGridView1.AutoResizeColumn(2)
Me.DataGridView1.AutoResizeColumn(3)
Me.DataGridView1.AutoResizeColumn(4)
Me.DataGridView1.AutoResizeColumn(5)
Me.DataGridView1.AutoResizeColumn(6)
Me.DataGridView1.AutoResizeColumn(7)
Me.DataGridView1.AutoResizeColumn(8)
Me.DataGridView1.AutoResizeColumn(9)
 
'Jusque là tout fonctionne mais le test suivant ne modifie pas la largeur de la colonne 9 du coup ça fait une très longue colonne qui dépasse la form
If Me.DataGridView1.Columns(9).Width > 300 Then
      Me.DataGridView1.Columns(9).Width = 300
End If
 
'Le redimentionnement automatique des Lignes ne fonctionne pas non plus
Me.DataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCellsExceptHeaders
Me.DataGridView1.AutoResizeRows()