Remplir un combo box [Résolu]

khoukhou31 2 Messages postés mercredi 7 juin 2006Date d'inscription 27 mai 2007 Dernière intervention - 27 mai 2007 à 13:54 - Dernière réponse : kurapika_shinji 8 Messages postés lundi 20 novembre 2006Date d'inscription 30 juillet 2008 Dernière intervention
- 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 

8 réponses

Répondre au sujet
sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention - 27 mai 2007 à 14:07
+3
Utile
ComboBox.DataSource = DataTable;
ComboBox.DataMember = "NomDeLaColonne";
ComboBox.DataValue = "NomDeLaColonne";

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de sebmafate
khoukhou31 2 Messages postés mercredi 7 juin 2006Date d'inscription 27 mai 2007 Dernière intervention - 27 mai 2007 à 15:06
0
Utile
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 710 Messages postés lundi 10 janvier 2005Date d'inscription 27 août 2014 Dernière intervention - 27 mai 2007 à 17:08
0
Utile
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 8 Messages postés lundi 20 novembre 2006Date d'inscription 30 juillet 2008 Dernière intervention - 30 juil. 2008 à 11:00
0
Utile
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 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention - 30 juil. 2008 à 11:03
0
Utile
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 8 Messages postés lundi 20 novembre 2006Date d'inscription 30 juillet 2008 Dernière intervention - 30 juil. 2008 à 11:23
0
Utile
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 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention - 30 juil. 2008 à 11:30
0
Utile
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 8 Messages postés lundi 20 novembre 2006Date d'inscription 30 juillet 2008 Dernière intervention - 30 juil. 2008 à 11:33
0
Utile
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.