Bonjour Forum,

Je commence en vb.net et voila que je rencontre mon premier problème qui je suis certain doit être très simple à résoudre pour des utilisateurs expérimenté comme vous!

Je m'explique, j'utilise la classe suivante afin de remplir une listview, cependant j'aimerai que mes colonnes soient en autowidth.

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
25
26
27
28
29
30
31
32
33
34
 
Imports System.Data.SqlClient
 
Public Class ListViewData
   Public Sub FillListView(ByRef MyListView As ListView, _
                           ByRef myData As SqlDataReader) 
      Dim lvwColumn As ColumnHeader
      Dim itmListItem As ListViewItem
 
      Dim shtCntr As Short
 
      MyListView.Clear()
      For shtCntr = 0 To myData.FieldCount() - 1
         lvwColumn = New ColumnHeader()
         lvwColumn.Text = myData.GetName(shtCntr)
         MyListView.Columns.Add(lvwColumn)
      Next
 
      Do While myData.Read
         itmListItem = New ListViewItem()
         itmListItem.Text = myData(0)
 
         For shtCntr = 1 To myData.FieldCount() - 1
            If myData.IsDBNull(shtCntr) Then
               itmListItem.SubItems.Add("")
            Else
               itmListItem.SubItems.Add(myData.GetString(shtCntr))
            End If
         Next shtCntr
 
         MyListView.Items.Add(itmListItem)
      Loop
   End Sub
End Class
J'ai pour cela essayé d'ajouter la ligne de code suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
lvwColumn.Width = -2
La je constate que uniquement ma première colonne se re-dimensionne et prend toutes la largeur du listview. Je suis donc loin du résultat désiré.

Pouvez-vous m'aider à trouver une solution.

Merci d'avance pour votre aide précieuse.

Christophe