OVH Cloud OVH Cloud

Colonnes dans Listview

4 réponses
Avatar
Charles Tosi
Bonjour,

Je n'arrive pas à trouver comment dimensionner la largeur des colonnes:
ColumnHeader dans Listview, ni comment éviter qu'une colonne vide apparaisse
toujours!
Le "help" de MSDN est assez puavre là-dessus.

Une idée?

Merci d'avance

Charles

4 réponses

Avatar
Jacques93
Bonjour Charles Tosi,
Charles Tosi a écrit :
Bonjour,

Je n'arrive pas à trouver comment dimensionner la largeur des colonnes:
ColumnHeader dans Listview, ni comment éviter qu'une colonne vide apparaisse
toujours!
Le "help" de MSDN est assez puavre là-dessus.

Une idée?

Merci d'avance

Charles





Essaie, en adaptant :

Private Sub Form_Load()
Dim clmX As ColumnHeader
Dim Larg As Long
Dim i As Integer

Larg = 0
With Me.ListView1
.View = lvwReport
Set clmX = .ColumnHeaders.Add(, , "Col 1")
clmX.Width = 1200
Larg = Larg + clmX.Width

Set clmX = .ColumnHeaders.Add(, , "Col 2")
clmX.Width = 600
Larg = Larg + clmX.Width

Set clmX = .ColumnHeaders.Add(, , "Col 3")
clmX.Width = 2400
Larg = Larg + clmX.Width

' Ajuste la largeur du Listview
.Width = Larg + 60

For i = 1 To 15
Me.ListView1.ListItems.Add , , "Test " & i
Next i
' Ré-Ajuste la largeur du Listview si la ScrollbBar est affichée
If Me.ListView1.ListItems(1).Height * _
Me.ListView1.ListItems.Count > .Height Then
.Width = .Width + 260
End If

End With
End Sub

--
Cordialement,

Jacques.
Avatar
Charles Tosi
Ca Marche merci

J'ai un petit souci quand au remplissage des colonnes 2 et 3, je n'arrive
pas à indexed les "subitems";
Une idée??

Merci d'avance

"Jacques93" a écrit dans le message de
news:
Bonjour Charles Tosi,
Charles Tosi a écrit :
Bonjour,

Je n'arrive pas à trouver comment dimensionner la largeur des colonnes:
ColumnHeader dans Listview, ni comment éviter qu'une colonne vide
apparaisse toujours!
Le "help" de MSDN est assez puavre là-dessus.

Une idée?

Merci d'avance

Charles



Essaie, en adaptant :

Private Sub Form_Load()
Dim clmX As ColumnHeader
Dim Larg As Long
Dim i As Integer

Larg = 0
With Me.ListView1
.View = lvwReport
Set clmX = .ColumnHeaders.Add(, , "Col 1")
clmX.Width = 1200
Larg = Larg + clmX.Width

Set clmX = .ColumnHeaders.Add(, , "Col 2")
clmX.Width = 600
Larg = Larg + clmX.Width

Set clmX = .ColumnHeaders.Add(, , "Col 3")
clmX.Width = 2400
Larg = Larg + clmX.Width

' Ajuste la largeur du Listview
.Width = Larg + 60

For i = 1 To 15
Me.ListView1.ListItems.Add , , "Test " & i
Next i
' Ré-Ajuste la largeur du Listview si la ScrollbBar est affichée
If Me.ListView1.ListItems(1).Height * _
Me.ListView1.ListItems.Count > .Height Then
.Width = .Width + 260
End If

End With
End Sub

--
Cordialement,

Jacques.


Avatar
Jacques93
Bonjour Charles Tosi,
Charles Tosi a écrit :
Ca Marche merci

J'ai un petit souci quand au remplissage des colonnes 2 et 3, je n'arrive
pas à indexed les "subitems";
Une idée??

Merci d'avance




Dim itmX as ListItem

...

For i = 1 To 8
Set itmX = .ListItems.Add(, , "Test " & i)
' Comme ça :
itmX.SubItems(1) = "Sub 1" & i
' ou comme ça :
.ListItems(i).SubItems(2) = "Sub 2" & i
Next i

...


--
Cordialement,

Jacques.
Avatar
Charles Tosi
Super

Merci beaucoup


"Jacques93" a écrit dans le message de
news: O7Z$
Bonjour Charles Tosi,
Charles Tosi a écrit :
Ca Marche merci

J'ai un petit souci quand au remplissage des colonnes 2 et 3, je n'arrive
pas à indexed les "subitems";
Une idée??

Merci d'avance




Dim itmX as ListItem

...

For i = 1 To 8
Set itmX = .ListItems.Add(, , "Test " & i)
' Comme ça :
itmX.SubItems(1) = "Sub 1" & i
' ou comme ça :
.ListItems(i).SubItems(2) = "Sub 2" & i
Next i

...


--
Cordialement,

Jacques.