CHARGER LES DONNÉES D'UNE TABLE DANS UN COMOBOX

Résolu
Signaler
Messages postés
15
Date d'inscription
lundi 28 juillet 2008
Statut
Membre
Dernière intervention
19 août 2008
-
Messages postés
1182
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
6 septembre 2011
-
BONJOUR?
comment faire pour pour avoir dans un comobox tout les donnée d'un colonne d'une table A.
merci

14 réponses

Messages postés
1182
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
6 septembre 2011
14
DataSet ds = new DataSet();
// Chaîne de connexion

string connectString = @"Data Source=RENNDXPRDL2596\SQLEXPRESS;Initial Catalog=hafid;Integrated Security=True";

// Objet connection

SqlConnection connection = new SqlConnection(connectString);

SqlDataAdapter Da_Table_Project  = new SqlDataAdapter( "SELECT ID_project FROM [Table_Project])", connection);
Da_Table_Project.Fill(ds, "Table_Project");

macombo.DataSource = ds.Tables["Table_Project"];
macombo.DisplayMember = "COL1";
macombo.ValueMember = "COL2";

<hr />Arthenius
"Ce qui ne me tue pas, me rend plus fort..."
Messages postés
1182
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
6 septembre 2011
14
imaginons que tu est une zone compteur (comme cle primaire) et une zone libelle dans la meme table

en regle generale pour les humains derriere le clavier tu va afficher dans ta combo le libelle et stocker dans la base ton compteur

le valuemember sert a ca:

macombo.DisplayMember = "libelle";

macombo.ValueMember = "compteur";

tout depend comment sont structuré tes tables et ce que tu veux afficher

                                            compteur      libelle
ainsi pour un enregistrement 199558 ==> Tomates

tu affichera "Tomates" et stockera 199558 dans ta BDD (un peu plus parlant pour l'utilisateur qd meme :) )

<hr />Arthenius
"Ce qui ne me tue pas, me rend plus fort..."
Messages postés
136
Date d'inscription
jeudi 27 décembre 2007
Statut
Membre
Dernière intervention
5 mai 2011

la table d'une base de donnees ? , si c'est oui de quel type ? , il faut bien peciser
Messages postés
42
Date d'inscription
mercredi 23 avril 2008
Statut
Membre
Dernière intervention
23 août 2008
1
désolé ,
oui c'est une base de sur sql server 2005..
en fait mon but c'est d'avoir une liste déroulante qui contient tout les donnée d'une colonne..
j'espère que je un peu plus claire

merci
Messages postés
136
Date d'inscription
jeudi 27 décembre 2007
Statut
Membre
Dernière intervention
5 mai 2011

tu peux t'en servir avec les sources de "Arthenius" :
http://www.csharpfr.com/codes/CONNECTIONSTRING-SQL-SERVER-ACCESS-XML-PRESSE-PAPIER_23015.aspx 
et il y a d'autre de meme auteur .
bon dev , et merci "Arthenius"
Messages postés
1182
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
6 septembre 2011
14
lol

meme plus besoin de faire la pub pour mes devs :)

merci ;)

<hr />Arthenius
"Ce qui ne me tue pas, me rend plus fort..."
Messages postés
15
Date d'inscription
lundi 28 juillet 2008
Statut
Membre
Dernière intervention
19 août 2008

merci pour l'adresse, mais c'est pas vraiment ce que je veux
Messages postés
1182
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
6 septembre 2011
14
je te conseil cet source qd meme :)
 
http://www.csharpfr.com/codes/EXEMPLE-UTILISATION-DATAGRID-DATAADAPTER-SELECT-SUR-BDD-AVEC_27738.aspx

sinon pour ton PB tu va devoir remplir un dataset avec un dataadapter

une fois ton dataset rempli tu defini le datasource de ta combo
ainsi que le displaymember et le Valuemember de ta combo (en mettant le nom de colonne que tu souhaite utiliser pour les 2 proprietes )

<hr />Arthenius
"Ce qui ne me tue pas, me rend plus fort..."
Messages postés
1182
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
6 septembre 2011
14
un truc de ce genre :

ds.T_DEPOT1.Rows.Clear();
Da_T_DEPOT.Fill(ds.T_DEPOT1);
Cbo_DEPONUM_D.DataSource = ds.T_DEPOT1;
Cbo_DEPONUM_D.DisplayMember = "DEPOLIB";
Cbo_DEPONUM_D.ValueMember = "DEPONUM";

<hr />Arthenius
"Ce qui ne me tue pas, me rend plus fort..."
Messages postés
15
Date d'inscription
lundi 28 juillet 2008
Statut
Membre
Dernière intervention
19 août 2008

merci Arthenius pour le lien,
zn fiat j'ai fait ca pour charger ma comobox mais ca ma rien donnée..

private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
// Chaîne de connexion
string connectString = @"Data Source=RENNDXPRDL2596\SQLEXPRESS;Initial Catalog=hafid;Integrated Security=True";
// Objet connection
SqlConnection connection = new SqlConnection(connectString);
// Ouverture
connection.Open();

SqlCommand command = new SqlCommand("SELECT ID_project FROM [Table_Project])", connection);
command.ExecuteNonQuery();

}
Messages postés
1182
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
6 septembre 2011
14
ne place pas ton code sur le comboBox1_SelectedIndexChanged
car il changera que lorsque la combo sera rempli ===> met ca sur le form load de ta fenetre

sinon il te faut utiliser un sqldataadapter (regarde ma source pour te guider)

dans ton code tu ne fait qu'executer une requete sans en recuperer les donnees

avec le dataadapeter.Fill(ds.Tables["ma_table_pour_ma_combo"]);

tu excutera la requete et stockera le resultat dans la datatable "ma_table_pour_ma_combo"

au finale tu devra faire un

Cbo_DEPONUM_D.DataSource = ds.Tables["ma_table_pour_ma_combo"];
Cbo_DEPONUM_D.DisplayMember = "ma_colonne_a_afficher";
Cbo_DEPONUM_D.ValueMember = "ma_colonne_de_valeur";

<hr />Arthenius
"Ce qui ne me tue pas, me rend plus fort..."
Messages postés
15
Date d'inscription
lundi 28 juillet 2008
Statut
Membre
Dernière intervention
19 août 2008

merci ca marche, j'ai une question ;
ca m eserty a quoi cette ligne :
macombo.ValueMember = "COL2";


moi je l'ai enlevé.

merci
Messages postés
15
Date d'inscription
lundi 28 juillet 2008
Statut
Membre
Dernière intervention
19 août 2008

j'ai compris le concept, merci pour l'explication est ce que c'est possible d'afficher et stocker la même chose. Dans mon cas je veux afficher et stocker la même chose
Messages postés
1182
Date d'inscription
mercredi 21 janvier 2004
Statut
Membre
Dernière intervention
6 septembre 2011
14
oui rien ne l'empeche

de rien :)

<hr />Arthenius
"Ce qui ne me tue pas, me rend plus fort..."