Doublons - listbox [débutant]

Messages postés
191
Date d'inscription
mercredi 11 juillet 2007
Statut
Membre
Dernière intervention
30 juin 2011
- - Dernière réponse : 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.
Afficher la suite 

4 réponses

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

<hr />
-My Blog-
Commenter la réponse de cs_Bidou
Messages postés
191
Date d'inscription
mercredi 11 juillet 2007
Statut
Membre
Dernière intervention
30 juin 2011
0
Merci
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.
Commenter la réponse de cs_ansizak
Messages postés
5507
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
41
0
Merci
Peut-être des espaces à la fin des mots?
Si tu as repris le snippet correctement, alors ça devrait marcher...

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

Merci a toi !

Cordialement,
Anz.
Commenter la réponse de cs_ansizak