js8bleu
Messages postés576Date d'inscriptionsamedi 14 octobre 2006StatutMembreDernière intervention27 janvier 2014
-
22 déc. 2011 à 20:00
js8bleu
Messages postés576Date d'inscriptionsamedi 14 octobre 2006StatutMembreDernière intervention27 janvier 2014
-
22 déc. 2011 à 21:50
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
js8bleu
Messages postés576Date d'inscriptionsamedi 14 octobre 2006StatutMembreDernière intervention27 janvier 20142 22 déc. 2011 à 21:50
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.