Remplir un combo box [Résolu]

khoukhou31
Messages postés
2
Date d'inscription
mercredi 7 juin 2006
Dernière intervention
27 mai 2007
- 27 mai 2007 à 13:54 - Dernière réponse : kurapika_shinji
Messages postés
8
Date d'inscription
lundi 20 novembre 2006
Dernière intervention
30 juillet 2008
- 30 juil. 2008 à 11:33
j'ai une DataTable que j'ai remplir à partie d'un DataAdapter.
Mais je ne trouve pas comment remplir mon combo box à partir de cette DataTable.
(Si il y a qlq 1 qui a un bout de code pour que je puisse l'utiliser ou des explications)
Merci.
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
sebmafate
Messages postés
4947
Date d'inscription
lundi 17 février 2003
Dernière intervention
14 février 2014
- 27 mai 2007 à 14:07
3
Merci
ComboBox.DataSource = DataTable;
ComboBox.DataMember = "NomDeLaColonne";
ComboBox.DataValue = "NomDeLaColonne";

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]

Merci sebmafate 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de sebmafate
khoukhou31
Messages postés
2
Date d'inscription
mercredi 7 juin 2006
Dernière intervention
27 mai 2007
- 27 mai 2007 à 15:06
0
Merci
le pb c que ma DataTable contient  plusieurs colonnes et je veux les afficher tous dans ma combo box
Commenter la réponse de khoukhou31
romagny13
Messages postés
710
Date d'inscription
lundi 10 janvier 2005
Dernière intervention
27 août 2014
- 27 mai 2007 à 17:08
0
Merci
en utilisant les champs calculés par exemple
On crée une colonne que l'on ajoute a la datatable desirée du dataset
et on définit l'expression de cette colonne
avec un DataSet typé on peut faire cela depuis le designer

dans mon exemple j'affiche le nom et le prénom dans la combobox

DataSet1.
ContactDataTable dt =
new
DataSet1.
ContactDataTable();DataSet1TableAdapters.

ContactTableAdapter da =
new CsChampClacule.DataSet1TableAdapters.
ContactTableAdapter(); System.Data.

DataColumn oDataColumn =
new
DataColumn(
"ColumnChampcalcule"
);oDataColumn.Expression =

"ContactName + \' \' + ContactFirstName" ;dt.Columns.Add(oDataColumn);

da.Fill(dt);

 

comboBox1.DataSource = dt;

comboBox1.DisplayMember =

"ColumnChampcalcule" ;comboBox1.ValueMember =

"ContactID";
Commenter la réponse de romagny13
kurapika_shinji
Messages postés
8
Date d'inscription
lundi 20 novembre 2006
Dernière intervention
30 juillet 2008
- 30 juil. 2008 à 11:00
0
Merci
Bonjour tout le monde !!

Je fais un gros up de ce sujet pour poser une question.

Je ne parviens pas non plus a remplir un combobox, malgre 2 solutions essayées...

solution 1 :

DataTable oDataTable = Cfonctions.select("SELECT nom_classe FROM Classe ORDER BY nom_classe");
for (int i = 0; i < oDataTable.Rows.Count; i++)
{
Cbxclasse.Items.Add(oDataTable.Rows[i].Item("nom_classe"));
}

Erreur à l'execution :

'System.Data.DataRow' ne contient pas de définition pour 'Item'



En essayant la solution citée ici :

DataTable oDataTable = Cfonctions.select("SELECT nom_classe FROM Classe ORDER BY nom_classe");

Cbxclasse.DataSource = DataTable;
Cbxclasse.DataMember = "nom_classe";
Cbxclasse.DataValue = "nom_classe";


J'obtiens les erreurs suivantes :

'System.Windows.Forms.ComboBox' ne contient pas de définition pour 'DataMember'
'System.Windows.Forms.ComboBox' ne contient pas de définition pour 'DataValue'


Quelqu'un pourrait il m'expliquer d'ou vient le problème? A savoir qu'effectivement, lorsque j'ecrit par exemple "cbxclasse." DataMember et DataValue n'apparaissent pas dans le choix des methodes (DataSource est la en revanche).


Merci !!
Commenter la réponse de kurapika_shinji
sebmafate
Messages postés
4947
Date d'inscription
lundi 17 février 2003
Dernière intervention
14 février 2014
- 30 juil. 2008 à 11:03
0
Merci
as-tu essayé :

Cbxclasse.DataSource = DataTable;
Cbxclasse.DisplayMember = "nom_classe";
Cbxclasse.ValueMember = "nom_classe";

?

Sébastien FERRAND (blog)
Consultant Sénior
[Microsoft Visual C# MVP]
Commenter la réponse de sebmafate
kurapika_shinji
Messages postés
8
Date d'inscription
lundi 20 novembre 2006
Dernière intervention
30 juillet 2008
- 30 juil. 2008 à 11:23
0
Merci
Merci de repondre aussi vite :)


Je n'avais effectivement pas essayé cela (je ne connaissais pas).
Peux tu m'expliquer pourquoi j'ai ces choix de méthode et non ceux cité plus haut?

Je precise que je suis débutant c# (je suis un habitué de vb6 et ses recordset) donc je ne suis pas habitué à gerer divers namespace et declarations de type "using XXX" (j'ai oublié l'appellation de ces declarations ^^), et c'est egalement ma 1ere connexion a une base de données (je faisais lecture/ecriture de fichiers avant).


Merci toutefois pour la résolution du problème, apres 2mois sans oser poser de question, je vais enfin pouvoir avancer dans mon projet (jusqu'au prochain probleme ^^'''')
Commenter la réponse de kurapika_shinji
sebmafate
Messages postés
4947
Date d'inscription
lundi 17 février 2003
Dernière intervention
14 février 2014
- 30 juil. 2008 à 11:30
0
Merci
hum... je pense que ma 1ère réponse fait un "mix" entre la solution Web et la solution Windows forms...

la bonne étant celle que je t'ai conseillé.

Sébastien FERRAND (blog)
Consultant Sénior
[Microsoft Visual C# MVP]
Commenter la réponse de sebmafate
kurapika_shinji
Messages postés
8
Date d'inscription
lundi 20 novembre 2006
Dernière intervention
30 juillet 2008
- 30 juil. 2008 à 11:33
0
Merci
Merci beaucoup de m'avoir eclairé

Sébastien MALASSIGNE
Consultant Junior (VB6), et futur C# :p
Commenter la réponse de kurapika_shinji

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.