Remplir un comboBox avec un arrayList [Résolu]

Messages postés
75
Date d'inscription
mardi 6 décembre 2005
Dernière intervention
6 août 2007
- - Dernière réponse : ambts
Messages postés
4
Date d'inscription
mardi 19 octobre 2010
Dernière intervention
8 avril 2011
- 30 avril 2010 à 00:12
J'ai eassayé les 3 solutions proposées ca ne marche pas
1ere solution: foreach(string str
in p
) this
.comboBox1
.Items
.Add(str
);
2 eme sol: ArrayList p=s.recuperernom();
for(int i=0;i<=p.count;i++){
comboBox1.Items.Add(p[i]);
3 eme sol:


this.comboBox.DataSource = myArrayList;

//voici la methode qui recherche la liste des codes dans la base
public static ArrayList listcode(){
ArrayList l=
new ArrayList();
OdbcConnection con=
new OdbcConnection("DSN=source2");
con.Open();

string req="select code from personne;";
OdbcCommand com=
new OdbcCommand(req,con);

//com.Connection=con;
OdbcDataReader r=com.ExecuteReader();

while(r.Read())
{

string p =r.GetString(4);
l.Add(p);
}

return l;
}



//methode qui devrait afficher la liste des codes dans le combo a chaque clic
private void comboBox1_Click(object sender, System.EventArgs e){
try{
ArrayList p=Classverifier.listcode();
foreach(string s in p){
this.comboBox1.Items.Add(s);}
}catch(Exception ex){MessageBox.Show(ex.Message);}
}

Mais quand j'essaie avec les 3 solutions proposées ca me donne le message Index was outside the bounds of the array
FD

FD
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
12
Date d'inscription
mardi 3 janvier 2006
Dernière intervention
3 février 2006
3
Merci
As-tu absolument besoin de ton arrayList car tu peux envoyer a ta méthode ton objet combobox qui se rempliera automatiquement

public listcode(ComboBox cmbCodes){//Passge du comboBox en parametre
OdbcConnection con=new OdbcConnection("DSN=source2");
con.Open();
string req="select code from personne;";
OdbcCommand com=new OdbcCommand(req,con);
OdbcDataReader r=com.ExecuteReader();
while(r.Read())
{
cmbCodes.Items.Add(r.GetString(4)); //Ici tu remplis ton comboBox
}

ensuite tu appeles ta methode comme ça

Classverifier.listcode(comboBox1);

Merci Mithrandir51 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 98 internautes ce mois-ci

Commenter la réponse de Mithrandir51
Messages postés
2369
Date d'inscription
mardi 17 avril 2001
Dernière intervention
26 décembre 2007
0
Merci
Ton exception elle doit se lever là :

string p =r.GetString(4);

Est tu sûr de ton index ? attention ca commence à 0. C'est a priori l'unique endroit ou tu peux planter.

::|The S@ib|::
MVP C#.NET
Commenter la réponse de TheSaib
Messages postés
4947
Date d'inscription
lundi 17 février 2003
Dernière intervention
14 février 2014
0
Merci
hum...

2ème solution :

for(int i=0;i<=p.count;i++){ <--- ici le = est à supprimer
comboBox1.Items.Add(p[i]);

Sébastien FERRAND
[MVP C#]
Commenter la réponse de sebmafate
Messages postés
2369
Date d'inscription
mardi 17 avril 2001
Dernière intervention
26 décembre 2007
0
Merci
J4avais meme pas vu qu'il y avait du code tout en haut.

::|The S@ib|::
MVP C#.NET
Commenter la réponse de TheSaib
Messages postés
4
Date d'inscription
mardi 19 octobre 2010
Dernière intervention
8 avril 2011
0
Merci
salu g besion daide aussi je vx remplir un combobox à partir d'un fichier texte chargé dans une arrylist
Commenter la réponse de ambts

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.