olibara
Messages postés666Date d'inscriptiondimanche 16 décembre 2007StatutMembreDernière intervention11 mars 2010
-
4 mars 2008 à 12:40
olibara
Messages postés666Date d'inscriptiondimanche 16 décembre 2007StatutMembreDernière intervention11 mars 2010
-
4 mars 2008 à 18:19
Bonjour,
J'ai toujours du mal avec les combobox
J'utilise un combobox que j'ai remplis (par query) avec une liste de codes postaux
J'aimerais afficher ce combo en selectionnant initialement une valeur venant d'un DGV (le code postal de l'adresse choisie par l'utilisateur)
Exemple le code postal 2000 qui existe
SelectedValue="2000"; // insulte
SelectedText=2000 ; // insulte
"Cannot set the SelectedValue in a ListControl with an empty ValueMember."
SelectedText
Meme chose
SelectedIndex=2000; // Ok mais ce n'est pas ca que je cherche car je veux afficher la valeur, Je ne connais pas l'index du CP 2000 !!
Suis-je obligé de parcourir le combo pour connaitre l'index de la valeur a afficher ?
A quoi sert SelectedText et Value ?
lemmingperceval
Messages postés128Date d'inscriptionmardi 18 décembre 2007StatutMembreDernière intervention 2 août 20096 4 mars 2008 à 16:00
ok attend,
S'il te retourne -1 ca veut dire qu'il n'a pas trouver l'élément dans la collection d'item de ton comboBox.
Ton code postal est de quel type? int? string?
lemmingperceval
Messages postés128Date d'inscriptionmardi 18 décembre 2007StatutMembreDernière intervention 2 août 20096 4 mars 2008 à 16:05
Et si tu mets:
cmb_post.Items[cmb_post.Items.IndexOf("2000") => si ton code postal est de type string
et:
cmb_post.Items[cmb_post.Items.IndexOf(2000) => si ton code postal est de type int
Vous n’avez pas trouvé la réponse que vous recherchez ?
olibara
Messages postés666Date d'inscriptiondimanche 16 décembre 2007StatutMembreDernière intervention11 mars 20106 4 mars 2008 à 16:28
Oui
C'est effectivement ce que je voulais voir
A priori c'est de l'int mais mais aucun des deux ne fonctionne : ni int ni string . Je me demande si ca n'est pas lié avec DisplayMember, displayValue et tout ce bingz etant donné que mon combo a comme datasource un dataset !
olibara
Messages postés666Date d'inscriptiondimanche 16 décembre 2007StatutMembreDernière intervention11 mars 20106 4 mars 2008 à 17:09
Il y a une piste effectivement mes items contiennent des datarowview !!
Je vais m'emmerder a caster ca
Ce que je veux faire : c'est simple : je remplis mon combo a l'aide d'un query
Si un utilisateur choisi un row de DGV a modifier, je le présente dans un formulaire avec un champ CP qui est un Combo montrant le CP initial mais il peut le changer a l'aide du combo
string selectcmd = "SELECT PostCode FROM `address` group by PostCode ";
adaCP.SelectCommand = new MySqlCommand(selectcmd, MyConn.conn);
adaCP.Fill(dsCP);
cmb_post.DataSource = dsCP.Tables[0];
cmb_post.DisplayMember = dsCP.Tables[0].Columns[0].Caption;
cmb_post.Visible = true;
cmb_post.SelectedIndex=cmb_post.Items.IndexOf(2000);
olibara
Messages postés666Date d'inscriptiondimanche 16 décembre 2007StatutMembreDernière intervention11 mars 20106 4 mars 2008 à 18:19
Et voila enfin la solution trouvée sur Code Project
string selectcmd = "SELECT PostCode FROM `address` group by PostCode ";
adaCP.SelectCommand = new MySqlCommand(selectcmd, MyConn.conn);
adaCP.Fill(dsCP);
cmb_post.DataSource = dsCP.Tables[0];
// bind value member of combobox to datatable
cmb_post.ValueMember = dsCP.Tables[0].Columns[0].ColumnName;