Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Comportement ComboBox [ Windows / Formulaire / Winforms / Controls ] (olibara)

mardi 4 mars 2008 à 12:40:19 | Comportement ComboBox

olibara

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 ?



mardi 4 mars 2008 à 14:08:48 | Re : Comportement ComboBox

lemmingperceval

Réponse acceptée !
Salut,

Essaie:

int

currentCodePostal = 1598;
this.cmbCodePostal.SelectedItem = cmbCodePostal.Items[cmbCodePostal.Items.IndexOf(currentCodePostal)];

mardi 4 mars 2008 à 15:55:20 | Re : Comportement ComboBox

olibara

A mon avis j'ai encore pas capté un truc

L'exemple suivant me rends -1 sur cmb_post.Items.IndexOf(2000);
idem si je fais cmb_post.Items.IndexOf("2000");

Code :
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);

mardi 4 mars 2008 à 16:00:37 | Re : Comportement ComboBox

lemmingperceval

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?


mardi 4 mars 2008 à 16:05:52 | Re : Comportement ComboBox

lemmingperceval

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


mardi 4 mars 2008 à 16:28:30 | Re : Comportement ComboBox

olibara

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 !

 


mardi 4 mars 2008 à 16:31:02 | Re : Comportement ComboBox

lemmingperceval

Du débuguage, tu as quoi dans Items[ ]?

mardi 4 mars 2008 à 16:42:57 | Re : Comportement ComboBox

lemmingperceval

Ecoute, tu as dans l'idée de faire quoi avec ton appli?
Je veux dire, elle servira à quoi? Le fonctionnement.


mardi 4 mars 2008 à 17:09:35 | Re : Comportement ComboBox

olibara

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); 

mardi 4 mars 2008 à 18:19:34 | Re : Comportement ComboBox

olibara

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;

cmb_post.DisplayMember = dsCP.Tables[0].Columns[0].ColumnName;

// select item
cmb_post.SelectedValue = 2000;




Cette discussion est classé dans : combobox, afficher, valeur, combo, comportement


Répondre à ce message

Sujets en rapport avec ce message

combobox [ par medbabs ] Bonjourj'ai un pb concerant le combobox en c#, j'ai créé une page web, dans pageLoad je rempli le combobox, dans le code d'un autre bouton je récupére Ajout valeur dans un combobox [ par olibara ] BonjourJ'aimerais utiliser un combobox pour que l'utilisateur puisse choisir une valeur predefinie mais AUSSI pour lui permettre si nécessaire d'ajout combobox datasource [ par olibara ] bonjourj'aimerais utiliser un combo box afin de choisir une valeur permettant de faire un query avec filtre "where"ce combo box est lui meme rempli a Comment afficher une valeur dans un IlookupSpace [ par drcmomo ] Bonjour tout le monde!!!J'ai un petit probléme , je dois afficher une valeur dans Ilookup de la même maniere qu'on procede pour un texbox.J'ai éssayer la valeur d'un combo [ par djabeur ] bonsoir Voici mon pb j'ai trois usercontrol les deux premiers sons placés sur le proisième. j'ai envie d'accéder la la valeur d'une combo placée s Ajout de valeur dans un combo bindé [ par olibara ] Bonjour,J'ai pas mal sué pour savoir comment ajouter une valeur dans un combo bindéNon pas comment ajouter la valeur au datasource mais comment gerer combo et dataset [ par benjeddi ] bonjour  j'ai un probleme qui me bloque j'ai cré deux comboBox dans ma forme et j'ai alimenté chaque combo par un datset le probleme c quand je select Récupérer la valeur sélectionnée d'une combobox [ par typhon24 ] Bonjour à tousJ'ai une combobox qui contient une liste de nom  d'entreprise et je voudrai récupérer la valeur sélectionnée afin de la traiter par la s datagridview + combobox [ par kurky ] Bonjour,Je suis bloqué sur un control, le datagridview.Je veux afficher une table d'une base de données contenant des infos de personnes dans une data ComboBox, texte affiché et valeur [ par Thanos_the_yopper ] j'utilise des ComboBox dans un programme C#, et j'aurais voulu avoir un fonctionnement similaire aux combobox HTML, à savoir avoir un texte affiché da


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,265 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.