Remplissage de Comboboxs

Résolu
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 - 23 févr. 2006 à 12:08
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 - 23 févr. 2006 à 13:34
Bonjour à tous,

J'ai une ArrayList de chaine et un comboboxs et je voudrais remplir le comboboxs en fonction de ma liste de chaine sans avoir à faire :

moncombobox.Items.Clear() ; et ensuite je fais une boucle pour mettre mon arraylist de chaine dans le combobox.

En faite je voudrais que le comboboxs soit remplis de manière dynamique en faite, donc dans le code ci dessous je lis ma liste de chaine et si la chaine_en_cours1 se trouve dans le comboboxs je ne fais rien sinon je rajoute la chaine_en_cours1 dans le comboboxs. Ainsi si j'ai :

mon_arraylist_de_chaine | item_des_comboboxs
jean jean
claude
paul

j'aurais une fois ce code executé :

mon_arraylist_de_chaine | item_des_comboboxs

jean jean

claude claude

paul paul

mais comment faire pour supprimer les items en trop en effet si j'ai :

mon_arraylist_de_chaine | item_des_comboboxs

jean jean

claude

paul

ca ne marchera pas une fois mon code executé j'aurais exactement la même chose.

Voici le code en question :

for (int i = 0 ; i < liste_chaine->get_Count() ; i++)
{
String * chaine_en_cours1 = dynamic_cast<String*>(liste_chaine->get_Item(i)) ;

bool existe = false ;

for (int i2 = 0 ; i2 < cboCombo->Items->get_Count() ; i2++)
{
String * chaine_en_cours2 = dynamic_cast<String*>( cboCombo->Items->get_Item(i2)) ;

if (String::Compare(chaine_en_cours1,chaine_en_cours2,true) == 0)
{
existe = true ;
break ;
}
}

if (existe == false)
cboCombo->Items->Add(chaine_en_cours1) ;

}

Quelqun aurait t'il une idée sur la question ?

Par avance, merci.

7 réponses

MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
23 févr. 2006 à 12:50
Salut,

Est-ce que la solution du Databinding te conviendrait ?

tonCombobox.DataSource = tonArraylist;

et si tu modifies ton arrayList, pour que ton combobox ait la meme valeur, tu as juste a faire :

tonCombobox.DataSource = null;
tonCombobox.DataSource = tonArraylist;


Mx
MVP C#
3
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
23 févr. 2006 à 13:17
tonComboBox.SelectedItem = "claude";
et on en parle plus.

Tu n'as qu'a declarer une string qui contient la valeur sur laquelle tu veux positionner ton combobox, et tu la reaffectes a chaque maj de ton combobox.


Mx
MVP C#
3
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 2
23 févr. 2006 à 13:09
Ben je connaissais pas, j'ai essayé mais quand je fais : tonCombobox.DataSource = tonArraylist ;

Il me séléctionne par défaut l'item numéro 1. Moi ce que je voudrais en faite c'est que l'item séléctionne ne bouge pas en faite.

Si j'ai :

item_des_comboboxs
jean
claude // le combobox pointe sur celui là
paul

et que le combobox et remplis une nouvelle fois :

item_des_comboboxs
jean
claude // le combobox pointe encore sur celui là
paul
jacques
0
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 2
23 févr. 2006 à 13:20
oui en effet, ca à l'air d'être la meilleurs solution, merci de ton aide.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 2
23 févr. 2006 à 13:26
Et une dernière petite question pour la route : Quand tu fais :

tonCombobox.DataSource = null;
tonCombobox.DataSource = tonArraylist;

Pourquoi tu met tonCombobox.DataSource = null; avant ?
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
23 févr. 2006 à 13:32
Il me semble que sinon ca ne marche pas, si ?
Le changement n'est pas pris en compte.



Mx
MVP C#
0
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 2
23 févr. 2006 à 13:34
Ben si apparement ca marche même ca, enfin j'ai peut être pas tester suffisament
0