Listview: Recherche et selection.... [Résolu]

cs_Chewba 90 Messages postés jeudi 16 mai 2002Date d'inscription 10 septembre 2006 Dernière intervention - 17 nov. 2004 à 14:27 - Dernière réponse : jrivet 7401 Messages postés mercredi 23 avril 2003Date d'inscription 6 avril 2012 Dernière intervention
- 18 nov. 2004 à 12:18
Bonjour,

J'ai un listviewen mode rapport et je voudrais faire une recherche dans ce listview et sélectionner l'item correspondant à cette recherche...

Merci d'avance....
Afficher la suite 

11 réponses

jrivet 7401 Messages postés mercredi 23 avril 2003Date d'inscription 6 avril 2012 Dernière intervention - 17 nov. 2004 à 17:13
+3
Utile
Re,

Tiens Essaie ceci
public function FindList(lv as listview, TonParametre as string) as long
For i = 1 To lv.ListItems.Count
    If lv.ListItems(i) = TonParametre Then FindList= FindList+ 1
    For j = 1 To lv.ListItems(i).ListSubItems.Count        If lv.ListItems(i).ListSubItems(j) Text2 Then FindList FindList+ 1
    Next
Next
end function


ceci te cherche une chaine de caractere (tonparametre) dans toute les "cases" de ton listview (lv) et te retourne le nombre de fois trouve

si tu veux selectioner la ligne tu rajoute ce que je t avais dis avant au lieu d incrementer le nombre de fois et tu sors de la fonction directement.

ajoute can meme le lv.selecteditem.ensurevisible qui te permet dans le cas ou tu es bcp de ligne de t assurer que l element sera visible a l ecran
@+
Julien
-----------------------------------------------------------
:big) Essai ca sinon on trouvera autre chose ;)
-----------------------------------------------------------
Cette réponse vous a-t-elle aidé ?  
jrivet 7401 Messages postés mercredi 23 avril 2003Date d'inscription 6 avril 2012 Dernière intervention - 17 nov. 2004 à 16:21
0
Utile
Salut,

Ton parametre de recherche est il la valeur d une colonne precise ou peut il etre dans n importe quelle colonne?

Pour selectionner l item : listview1.selecteditem= listview1.listitems(X) (je crois)
@+
Julien
-----------------------------------------------------------
:big) Essai ca sinon on trouvera autre chose ;)
-----------------------------------------------------------
cs_Chewba 90 Messages postés jeudi 16 mai 2002Date d'inscription 10 septembre 2006 Dernière intervention - 17 nov. 2004 à 16:48
0
Utile
Merci mais justement le problème vient du fait qu'il peut se trouver dans n'importe quelle colonne, donc en fait je voudrais pouvoir faire une recherche par rapport au nom et le selectionner ensuite, juste par le code et non par la souris...

Merci d'avance.
cs_Chewba 90 Messages postés jeudi 16 mai 2002Date d'inscription 10 septembre 2006 Dernière intervention - 17 nov. 2004 à 17:24
0
Utile
Merci pour ton code mais il ne manque rien par hasard ? et à quoi correspond Text2 ?
jrivet 7401 Messages postés mercredi 23 avril 2003Date d'inscription 6 avril 2012 Dernière intervention - 17 nov. 2004 à 17:28
0
Utile
Oups je me suis trompe (c est que j l ai mis en fonction au dernier moment) mais remplace text2 par TonParametre...

Qu est ce que tu crois qu il manquerait

la premiere boucle parcours les ligne et la deuxieme les colonnes.
@+
Julien
-----------------------------------------------------------
:big) Essai ca sinon on trouvera autre chose ;)
-----------------------------------------------------------
cs_Chewba 90 Messages postés jeudi 16 mai 2002Date d'inscription 10 septembre 2006 Dernière intervention - 17 nov. 2004 à 17:32
0
Utile
ok, merci c'est ce que je pensais mais où puis-je mettre un msgbox pour dire si il a trouvé mon itme et une msgbox pour me dire qu'il ne l'a pas trouvé
jrivet 7401 Messages postés mercredi 23 avril 2003Date d'inscription 6 avril 2012 Dernière intervention - 17 nov. 2004 à 17:43
0
Utile
Re,

imaginons que tu garde la meme fonction a la fin de la fonction tu teste la valeur de FindList... si elle vaut 0 c est qu il l a pas trouve et sinon c est qu il a trouve qqch (et si tu as ajouter la selection de l item automatique l utilisateur le verra a l ecran)
@+
Julien
-----------------------------------------------------------
:big) Essai ca sinon on trouvera autre chose ;)
-----------------------------------------------------------
cs_Chewba 90 Messages postés jeudi 16 mai 2002Date d'inscription 10 septembre 2006 Dernière intervention - 17 nov. 2004 à 18:17
0
Utile
Merci ça marche +/-, il le sélectionne en grisé et on en bleu comme quand on clique dessus avec la souris
pourtant, j'ai ajouté la ligne : listview1.selecteditem= listview1.listitems(X)
jrivet 7401 Messages postés mercredi 23 avril 2003Date d'inscription 6 avril 2012 Dernière intervention - 17 nov. 2004 à 18:33
0
Utile
Re,

il le selectionne en grise car ton listview n a pas le focus.
ajoute la ligne lv.setfocus apres le .selecteditem.

Bon desole mais c est tout pour aujourd hui (j ai fini le taf je m arrache ;) ) si probleme on voit demain.

@+
Julien
-----------------------------------------------------------
:big) Essai ca sinon on trouvera autre chose ;)
-----------------------------------------------------------
cs_Chewba 90 Messages postés jeudi 16 mai 2002Date d'inscription 10 septembre 2006 Dernière intervention - 18 nov. 2004 à 11:55
0
Utile
Merci bcp de ton aide, ça fonctionne parfaitement...
jrivet 7401 Messages postés mercredi 23 avril 2003Date d'inscription 6 avril 2012 Dernière intervention - 18 nov. 2004 à 12:18
0
Utile
Salut,

Pas de quoi... ;)
@+
Julien
-----------------------------------------------------------
:big) Essai ca sinon on trouvera autre chose ;)
-----------------------------------------------------------

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.