ListView colonne Bold

Pyrof Messages postés 6 Date d'inscription mercredi 16 novembre 2022 Statut Membre Dernière intervention 21 mars 2024 - 20 mars 2024 à 15:13
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 - 21 mars 2024 à 14:18

Bonjour,

Après avoir créé et alimenté une listview (5 colonnes), j’aimerai y ajouter des mises en valeur.

La colonne 2 en Bold 

METHODE 1 :

For B = 0 To Maform.LViewToTraite.Items.Count - 1

With Maform.LViewToTraite.Items(B).SubItems(2)

     .Font = New Font(.Font, FontStyle.Bold)

End With

next

Pas d’erreur et pas d’effet

METHODE 2

Maform.LViewToTraite.Items(B).SubItems(2).Font.Bold = True

Provoque l’erreur La propriété ‘Bold’ est ‘Readonly’

Je pense qu’il y a une propriété de cette ListView qui bloque cette action, mais laquelle ?

Je suis débutant et je bloque, merci de vos réponses

8 réponses

Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
20 mars 2024 à 16:40

Bonsoir

comment as tu alimenté la listwiew?

A priori tu code en winform, peux tu confirmer ?


0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
Modifié le 20 mars 2024 à 17:00

Bonjour à vous deux

Pour Pyrof : si vous êtes en Winforms la propriété UseItemStyleForSubItems si elle est mise à True indique que tous les SubItems ont le même style que L'Item de la Listview .

Maintenant si vous faîtes 

​
Maform.LViewToTraite.Items(2).UseItemStyleForSubItems = False

​

 cela fera en sorte que la colonne 2 aura son propre style et vous pourrez y définir votre police de caractères en Gras uniquement pour cette colonne .

Ceci est valable pour toutes les lignes de la Listview : la colonne 2 sera en gras .

Maintenant il est tout à fait possible que Whismeril connaisse une meilleure solution .


0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
20 mars 2024 à 18:23

Meilleure je sais pas, en plus y'a longtemps que je n'ai pas fait de winform...

Il me semble qu'on peux construire un listiviewitem à partir d'un tableau de subitem eux même construit avec une mise en forme.


0
Pyrof Messages postés 6 Date d'inscription mercredi 16 novembre 2022 Statut Membre Dernière intervention 21 mars 2024
Modifié le 20 mars 2024 à 20:17

Merci de vos réponse

Voila comment j'écris dans ma listview :

LViewToTraite.Items.Add(New ListViewItem({cle, col2, col3, col4, col5}))

La propriété UseItemStyleForSubItems n'est pas disponible de la boite de dialogue Propriété.

J'ai tenté

 LViewToTraite.UseItemStyleForSubItems = true

mais ce n'est pas accepté.

Merci

0

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

Posez votre question
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
Modifié le 20 mars 2024 à 19:48

Bonjour Pyrol

La propriété UseItemStyleForSubItems n'est pas une propriété associée à la Listview mais elle est associée à une ligne de la Listview .

Par contre je crois que j'ai fait une erreur .

Pour chaque ligne de la Listview 

LViewToTraite.Items.Add(New ListViewItem({cle, col2, col3, col4, col5}))
With LViewToTraite.Items(LViewToTraite.Items.count - 1)
    ' on met les Subitems comme étant différent de l'Item de base 
    .UseItemStyleForSubItems = False
    ' la colonne 2 a la même font que la Listview mais en Gras
    .Subitems(2).Font = New Font(LViewToTraite.Font, FontStyle.Bold)
End With

 -  on ajoute la ligne

- avec cette ligne on utilise la propriété UseItemStyleForSubItems à False

- on met alors la colonne 2 en Gras

Vous rajoutez les lignes 2 à 7 dans la boucle For qui affiche la Listview


0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
20 mars 2024 à 21:01

Apparemment ce à quoi je pensais n'est pris en charge qu'en Windows Destop...


0
Pyrof Messages postés 6 Date d'inscription mercredi 16 novembre 2022 Statut Membre Dernière intervention 21 mars 2024
21 mars 2024 à 09:30

Bonjour et merci à vous

J'ai résolu mon problème de cette façon

    Sub MEF_ListView()
        With Maform.LViewToTraite
            .Items(5).UseItemStyleForSubItems = False
            For B = 0 To Maform.LViewToTraite.Items.Count - 1
                .Items(B).UseItemStyleForSubItems = False
                If B Mod 2 = 1 Then
                    For BB = 0 To 4
                        .Items(B).SubItems(BB).BackColor = Color.FromArgb(255, 255, 6) '  Color.Green
                    Next
                End If
                .Items(B).SubItems(1).Font = New Font(.Font, FontStyle.Bold)
            Next
        End With
    End Sub

Je préfère faire une sub plutôt que de faire la mise en forme à l’écriture des datas car je prévois des option de Mise en valeur (sans changer les datas.

Merci à vous.

0
vb95 Messages postés 3472 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 13 avril 2024 169
21 mars 2024 à 14:18

Bonjour

La ligne suivante est inutile à mon avis

.Items(5).UseItemStyleForSubItems = False

Si votre problème est résolu veuillez cliquer sur les 3 petits points du premier message pour mettre cette discussion en résolu .

Merci


0
Rejoignez-nous