Largeur colonne d'un ListView

Seth77 Messages postés 572 Date d'inscription mardi 30 avril 2002 Statut Membre Dernière intervention 4 mai 2020 - 9 févr. 2007 à 15:11
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 - 9 févr. 2007 à 22:50
Salut

Comment faire un autosize sur la largeur des colonnes en fonction du contenu ?

Herve

9 réponses

Utilisateur anonyme
9 févr. 2007 à 15:21
Erreur de copier/coller :

TaListView.AutoResizeColumns(System.Windows.Forms.ColumnHeaderAutoResizeStyle.ColumnContent)






__________
Kenji
1
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
9 févr. 2007 à 15:15
Si c'est comme sous VB6, il te faudra d'abord déterminer la largeur graphique de la donnée la plus large à y insérer....
Une fois cette largeur connue, il ne reste plus qu'à la donner à la colonne concernée.
0
Utilisateur anonyme
9 févr. 2007 à 15:19
Hé non, le travail est déjà tout maché.
Columns.AutoResize(System.Windows.Forms.ColumnHeaderAutoResizeStyle.ColumnContent)





__________
Kenji
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
9 févr. 2007 à 15:22
Ah...
Enfin une amélioration (réelle) apportée par VB.Net.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Seth77 Messages postés 572 Date d'inscription mardi 30 avril 2002 Statut Membre Dernière intervention 4 mai 2020 1
9 févr. 2007 à 15:25
j'ai pas AutoResizeColumns...cela doit etre du a VS qui est trop vieux !

Herve
0
Utilisateur anonyme
9 févr. 2007 à 15:27
Oui, ca doit être ca :
Regarde si la méthode AutoResize existe pour les colonnes


TaListView.Columns(IndexDeLaColonne_FaudrasFaireUneBoucle).AutoResize(System.Windows.Forms.ColumnHeaderAutoResizeStyle.ColumnContent)






__________
Kenji
0
Seth77 Messages postés 572 Date d'inscription mardi 30 avril 2002 Statut Membre Dernière intervention 4 mai 2020 1
9 févr. 2007 à 16:02
Non ..tanpis

Herve
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
9 févr. 2007 à 16:26
Suis déçu !
Bon, alors... il te reste ma solution VB6 à faire en VB.Net ...
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
9 févr. 2007 à 22:50
Salut,

Voici une fonction que m'avais donner une personne qui je reconnaîtra je pense...Par  contre je ne sais pas si tu peux l'adapter en .net

Public Function AutoListView1(FormeName As Form, LV As ListView)
    ' On va régler la largeur des colonnes en fonction du contenu
   
    Dim r As Integer, t As Long, Largeur As Long, Max As Long
   
    ' Donne à la forme la même police que le ListView
    FormeName.Font = LV.Font
   
    ' 1ere colonne (n'est pas une SubItem)
    ' 1ere valeur : la largeur de l'étiquette
    Max = FormeName.TextWidth(LV.ColumnHeaders(1).Text)
    For t = 1 To LV.ListItems.Count
        Largeur = FormeName.TextWidth(LV.ListItems(t).Text)
        If Largeur > Max Then Max = Largeur
    Next t
    LV.ColumnHeaders(1).Width = Max * 2
   
    For r = 2 To LV.ColumnHeaders.Count
        ' 1ere valeur : la largeur de l'étiquette
        Max = FormeName.TextWidth(LV.ColumnHeaders(r).Text)
        ' Ensuite, le test de ttes les données
        For t = 1 To LV.ListItems.Count
            Largeur = FormeName.TextWidth(LV.ListItems(t).SubItems(r - 1))
            If Largeur > Max Then Max = Largeur
        Next t
        LV.ColumnHeaders(r).Width = Max * 2
    Next r
End Function

A+
Exploreur
0
Rejoignez-nous