Rechercher d'un ListViweItem

floptwo Messages postés 24 Date d'inscription jeudi 1 juin 2006 Statut Membre Dernière intervention 2 octobre 2006 - 8 juin 2006 à 04:28
floptwo Messages postés 24 Date d'inscription jeudi 1 juin 2006 Statut Membre Dernière intervention 2 octobre 2006 - 6 juil. 2006 à 18:56
Salut !
J'ai un listview avec plusieur colonne. J'aimerais effaceer les doublons da ma liste ou alors carrément empécher l'entrée d'un Item s'il est déjà dans la listView.
(Je débute et j'ai déjà beaucoup cherché et je n'ai rien trouvé)

4 réponses

cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
8 juin 2006 à 08:22
Hello,
Quelle genre de donnée tu mets dans ton ListView?
Si c'est une collection, tu peux éventuellement faire le tris AVANT de les afficher dans le ListView (tout dépend si c'est la collection ou l'affichage qui n'ose pas contenir de doublon).
Si c'est la collection, tu peux soit vérifier lors de l'ajout que l'élément n'existe pas encore, soit utiliser un Dictionary qui lève une exception si tu essayes d'insérer deux fois le même object (deux fois la même key en fait).

Sinon, t'es obligé d'itérer dans ton ListView, de récupérer chaque valeur, et de les comparer... C'est sûrement la bonne solution.

<hr size= "2" /> VC# forever
=13319
0
floptwo Messages postés 24 Date d'inscription jeudi 1 juin 2006 Statut Membre Dernière intervention 2 octobre 2006 7
8 juin 2006 à 15:13
Salut !

Je te décris ce que je fais (listFilesAdd est un string[]) :

                foreach (string rowFile in listFilesAdd)
                {
                        FileInfo mon_fichier = new FileInfo(rowFile);

                        string extension = mon_fichier.Extension.ToString();

                        int _taille = (int)mon_fichier.Length / 1024;

                        string[] a = { extension.ToUpper().Substring(1),
                                       _taille.ToString() + " Ko"};

                        // C'est ici que je voudrais verifier la presence de l'items que j'ajoute
                        listView1.Items.Add(rowFile).SubItems.AddRange(a);

                }

Je ne sais toujours pas comment m'y pendre !

Merci !!
0
tservolle Messages postés 28 Date d'inscription mardi 7 mars 2006 Statut Membre Dernière intervention 22 janvier 2007
6 juil. 2006 à 16:44
tu peux utiliser la methode listView.Items.Contains(Object o) qui renvoit true si l'objet o est deja dans la collection Items.ListView, et dans ce cas la tu n'ajoutes rien
0
floptwo Messages postés 24 Date d'inscription jeudi 1 juin 2006 Statut Membre Dernière intervention 2 octobre 2006 7
6 juil. 2006 à 18:56
merci de ton aide!!!!
0
Rejoignez-nous