Doublons - listbox [débutant]

Signaler
Messages postés
191
Date d'inscription
mercredi 11 juillet 2007
Statut
Membre
Dernière intervention
30 juin 2011
-
cs_ansizak
Messages postés
191
Date d'inscription
mercredi 11 juillet 2007
Statut
Membre
Dernière intervention
30 juin 2011
-
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

Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
44
Hello,
Peut-être que ce snippet te sera utile:
http://www.codyx.org/snippet_supprimer-doublons-combobox_374.aspx

<hr />
-My Blog-
Messages postés
191
Date d'inscription
mercredi 11 juillet 2007
Statut
Membre
Dernière intervention
30 juin 2011

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.
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
44
Peut-être des espaces à la fin des mots?
Si tu as repris le snippet correctement, alors ça devrait marcher...

<hr />
-My Blog-
Messages postés
191
Date d'inscription
mercredi 11 juillet 2007
Statut
Membre
Dernière intervention
30 juin 2011

Hihi ça fonctionne merci :) j'avais oublié de préciser comboBox[i].Tostring() = comBox[j].Tostring().

Merci a toi !

Cordialement,
Anz.