jackso40
Messages postés9Date d'inscriptionlundi 19 mars 2007StatutMembreDernière intervention19 juillet 2008
-
27 mars 2008 à 22:53
jackso40
Messages postés9Date d'inscriptionlundi 19 mars 2007StatutMembreDernière intervention19 juillet 2008
-
29 mars 2008 à 21:48
Bonjour,
c'est la premiere fois que j'utilise une Listview et je me demandais comment faire pour lorsque je cherche ma form,
la premiere ligne de ma ListView soit selectionnée et récuperer la donnée qui se trouve dans la premiere colonne (elle correspond à l'Id de la table de ma Base de donnée.
cs_Jack
Messages postés14007Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 28 mars 2008 à 04:11
Salut
"lorsque je cherche ma form" : Tu veux dire "charge" ?
Ajouter un item :
Il faut d'abord dimensionner un objet ListItem correspond à la ligne que tu vas ajouter :
Dim xItem As ListItem
Puis le déclarer
Set xItem = ListView1.ListItems.Add(, , "Colonne 1")
Et si tu as des SubItems (des colonnes supplémentaires à la colonne principale)
xItem.SubItems(1) = "Colonne 2"
Quand tu veux positionner la sélection sur un des Items :
ListView1.ListItems.Item(1).Selected = True
Eventuellement aussi ceci si la liste est longue et que tu ne vois pas l'item
ListView1.ListItems.Item(1).EnsureVisible
La donnée de la colonne 1 de la ligne 5 est :
ListViex1.ListItems.Item(5).Text
La donnée de la colonne 2 de la ligne 5 est :
ListViex1.ListItems.Item(5).SubItem(1)
Avec les ListView, il faut bien comprendre que la première colonne est la colonne maîtresse.
Les colonnes suivantes sont des SubItems qui commencent à 1 alors qu'il s'agit de la 2ème colonne
Voir l'aide pour les détails + les sources du site
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
cs_Jack
Messages postés14007Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 29 mars 2008 à 01:18
Salut
La prochaine fois, tu diras pourquoi ça ne marche pas, quelle erreur, quel résultat, quelle attente ...
En fait, tu fais deux fois la même boucle : une fois avec le For-Next et une autre avec le While-Wend + une erreur classique : tu oublies de passer à l'enregistrement suivant.
Si tu avais chargé une ou deux sources qui traitent des base de données, tu aurais vu ce code incontournable de scrutation des résultats d'un RecordSet :
With monRS
.MoveFirst
Do While Not .EOF
Debug.Print .Fields("monChamp").Value
' ici ton code d'insertion ListView
.MoveNext
Loop
End With
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Vous n’avez pas trouvé la réponse que vous recherchez ?
jackso40
Messages postés9Date d'inscriptionlundi 19 mars 2007StatutMembreDernière intervention19 juillet 2008 29 mars 2008 à 21:48
Ok, désolé mais ça me paraissait clair vu que ma question était simplement de savoir comment faire pour que
"la premiere ligne de ma ListView soit selectionnée et récuperer la donnée qui se trouve dans la premiere colonne"
Dans le code que j'ai mis, j'ai juste inserer la ligne conseillée pour selectionner la premiere ligne de ma ListView soit:
Et donc voila, ça ne fonctionne pas puisque elle n'est pas selectionnée au chargement. Je n'ai aucun message d'erreur, c'est juste qu'elle n'est pas selectionnée. Pour le reste de mon code, c'est ce que j'avais deja ecrit avant et je n'ai aucun soucis avec, il affiche bien mes infos. Je suis d'accord avec le fait que je fais 2 fois la meme boucle. J'ai corrigé ça, mais je ne vois pas pq tu dis que je ne passe pas à l'enregistrement suivant. Bien sur que si, d'ailleurs mon code fonctionne très bien.