Sélectionné un item de la listbox selon la valeur de ma base Access [Résolu]

Signaler
Messages postés
17
Date d'inscription
dimanche 25 avril 2004
Statut
Membre
Dernière intervention
16 janvier 2008
-
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
-
Bonjour
J'ai une form avec une ListBox. J'utilise une base Access pour remplir ma ListBox dont je met les noms dans ListBox.DisplayMember et l'ID des noms dans ListBox.ValueMember. J'ai une deuxième form qui me sert de moteur de recherche. Lorsque je lance la recherche, je parcourt le fichier Access et lorsque que le nom recherché est trouvé, je doit sélectionné l'item (ID) dans la ListBox. Mais voilà, je ne sais pas comment faire ?
merci

3 réponses

Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
54
Bonsoir,
Il faut utiliser la property SelectedValue de la ListBox...

<hr />
-My Blog-
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
36
bah... tu as SelectedItem qui doit être égal à ton ID.

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
Messages postés
17
Date d'inscription
dimanche 25 avril 2004
Statut
Membre
Dernière intervention
16 janvier 2008

Non sa ne vas pas car avec SelectedItem, je récupère le nom et non pas l'ID.

Pour être plus précis je met un extrait du code :

J'ai créé une class :
classListBoxItem
{
       privatestring text = null;
       privateint value = 0;
      
      public ListBoxItem(string TEXT, int VALUE)
      {
         text = TEXT;
         value = VALUE;
       }


  publicint Value { get { return value; } }
   publicstring Text { get { return text; } }
}

J'ajoute les noms et les valeurs dans la listbox :
ListBox.DisplayMember = "Text";
// connexion à la base Access.......
while(bdd.rdb.Read())
{
    ListBox.Items.Add(new ListBoxItem(bdd.rdb.GetString(1), bdd.rdb.GetInt32(0)));
}

Pour récupérer la valeur d'un item sélectionné de la listbox j'utilise ce code :
ListBoxItem item = (ListBoxItem)listBox.SelectedItem;
MessageBox.Show("Sélection : " + item.Text + " / " + item.Value.ToString());