Doublons - listbox [débutant]

cs_ansizak Messages postés 191 Date d'inscription mercredi 11 juillet 2007 Statut Membre Dernière intervention 30 juin 2011 - 12 janv. 2008 à 03:10
cs_ansizak Messages postés 191 Date d'inscription mercredi 11 juillet 2007 Statut Membre Dernière intervention 30 juin 2011 - 15 janv. 2008 à 21:46
Bonjour,

Je travaille sur un programme dans lequel j'ajoute - via un tableau - des données d'un fichier dans une combobox.
Le seul problème c'est que ces données ont souvent plusieurs fois le même nom, je voudrais pouvoir filtrer pour ne pas avoir de doublons dans ma combobox..

J'ai essayé quelquechose du genre :

string[] tab;
            bool from = false;
            int i;

            while ((line = rd.ReadLine()) != null)
            {
                tab = line.Split(';');
     
                for (i = 0; i < Availablefrom.Items.Count; i++)
                {                  
                    if (Availablefrom.SelectedText == tab[2])
                        {
                            from = true;
                        }
                    Availablefrom.XXXXX
                }
                    if (from == false)
                    {
                        Availablefrom.Items.Add(tab[2]);
                    }                          
            }

Je ne sais pas si cela pourrait fonctionner de cette manière puisque je ne connais pas la fonction qui permettrait de selectionner l'item suivant à chaque incrémentation de i.

En vous remerciant de votre aide,

Cordialement,
Anz.

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
12 janv. 2008 à 09:44
Hello,
Peut-être que ce snippet te sera utile:
http://www.codyx.org/snippet_supprimer-doublons-combobox_374.aspx

<hr />
-My Blog-
0
cs_ansizak Messages postés 191 Date d'inscription mercredi 11 juillet 2007 Statut Membre Dernière intervention 30 juin 2011
12 janv. 2008 à 13:19
Bonjour et merci a toi, j'ai jeté un oeil au topic et codé ceci:

string[] tab;
            int i;

            while ((line = rd.ReadLine()) != null)
            {
                tab = line.Split(';');
                Availablefrom.Items.Add(tab[2]);                  
            }

            for (i = 0; i < Availablefrom.Items.Count - 1; i++)
            {
                for (int j = Availablefrom.Items.Count - 1; j > i; j--)
                {
                    if (Availablefrom.Items[i] == Availablefrom.Items[j])
                    {
                        Availablefrom.Items.RemoveAt(i);
                    }
                }
            }

Le résultat est hélas toujours le même les doublons ne sont pas enlevés... Ai-je fait une erreur ?

Merci d'avance.
Cordialement,
Anz.
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
13 janv. 2008 à 21:28
Peut-être des espaces à la fin des mots?
Si tu as repris le snippet correctement, alors ça devrait marcher...

<hr />
-My Blog-
0
cs_ansizak Messages postés 191 Date d'inscription mercredi 11 juillet 2007 Statut Membre Dernière intervention 30 juin 2011
15 janv. 2008 à 21:46
Hihi ça fonctionne merci :) j'avais oublié de préciser comboBox[i].Tostring() = comBox[j].Tostring().

Merci a toi !

Cordialement,
Anz.
0
Rejoignez-nous