Problème clic sur listview

Signaler
Messages postés
576
Date d'inscription
samedi 14 octobre 2006
Statut
Membre
Dernière intervention
27 janvier 2014
-
Messages postés
576
Date d'inscription
samedi 14 octobre 2006
Statut
Membre
Dernière intervention
27 janvier 2014
-
Bonjour,

je suis entrain de me lancer sur les listview à travers un code que j'ai téléchargé sur ce site. Pas de problème pour l'affichage :
    Dim rstypedepense As New ADODB.Recordset
    rstypedepense.Open "select * from ttypedepense", cn, adOpenDynamic, adLockOptimistic
    
    'Pour affichage du résultat ds la liste
    Dim lignelistview As ListItem

    'Vide la liste
    lvtypedepense.ListItems.Clear
    
    ' Actualisation des colonnes des listes
    lvtypedepense.ColumnHeaders.Clear
    lvtypedepense.ColumnHeaders.Add , , "NumTypeDepense :", lvtypedepense.Width * 0.2, lvwColumnLeft
    lvtypedepense.ColumnHeaders.Add , , "TypeDepense :", lvtypedepense.Width * 0.2, lvwColumnLeft
    lvtypedepense.ColumnHeaders.Add , , "Actif :", lvtypedepense.Width * 0.2, lvwColumnLeft
    lvtypedepense.View = lvwReport

    'Boucle de remplissage
        With rstypedepense
            If Not (.EOF() Or .BOF()) Then
                'Tant que l'enregistrement en courstypedepense n'est pas vide
                While Not .EOF
                    'Ajoute l'enregistrement a la listview
                        Set lignelistview = lvtypedepense.ListItems.Add(, , rstypedepense.Fields("numtypedepense"))
                        lignelistview.SubItems(1) = rstypedepense.Fields("typedepense")
                    
                        If rstypedepense.Fields("chkactif") = 1 Then
                            lignelistview.SubItems(2) = "OUI"
                        Else
                            lignelistview.SubItems(2) = "NON"
                        End If
                        
                    'Passe à l'enregistrement suivant du recordset
                    .MoveNext
                Wend
            End If
        End With

Par contre lorsque je clique sur le listview pour qu'il m'affiche les données sur lesquels j'ai cliqué dans leurs objets respectifs. IL m'affiche "Méthodes ou membres de données introuvable" et il met ListSubitems en surbrillance. Je ne vois pourtant pas où est l'erreur. Peut-être qu'il y a un paramètre que je n'ai pas activé??? Voici le code sur l'évènement clic de la listview:
    Dim i As Integer
    i = lvtypedepense.SelectedItem.Index

    txtnumtypedepense.Text = lvtypedepense.ListItems(i).Text
    txttypedepense.Text = lvtypedepense.ListItems(i).ListSubItems.Item(1).Text

    If lvtypedepense.ListItems(i).ListSubItems.Item(2).Text = 1 Then
        chkactif.Value = Checked
    Else
        chkactif.Value = Unchecked
    End If


Merci d'avance pour votre très précieuse aide.

Cordialement.

2 réponses


Bonsoir,

Le nombre de colonnes est-il suffisant dans ta listview ?
Messages postés
576
Date d'inscription
samedi 14 octobre 2006
Statut
Membre
Dernière intervention
27 janvier 2014
2
Bonsoir banana32 et Merci pour ton intérêt. Oui, le nombre de colonne est suffisant car je n'ai que 3 colonnes dans ma tables et ce sont ces trois colonnes qui s'affichent.