Partage
  • Partager sur Facebook
  • Partager sur Twitter

Listbox en C#

Récupérer un ID caché

Sujet résolu
    5 novembre 2011 à 21:52:40

    Bonsoir à tous,

    Je recontre une petite difficulté avec les listbox en C#.
    En fait, je remplis une listbox ligne par ligne (via une boucle) en récupérant des infos (un nom et une addresse) dans une base de données.
    Je souhaiterais associer à chaque ligne l'id correspondant l'enregistrement pour pouvoir récupérer cet ID lorsque je fais un double-clic sur une ligne.

    enterprise MyEnterprise = new enterprise(dbConnection);
    listboxEnterprises.Items.Clear();
    while (MyEnterprise.updateObjFromDb())
    {
      listboxEnterprises.Items.Add(MyEnterprise.get_id_enterprise() + " " + MyEnterprise.get_company());
    }
    


    Quelle méthode me conseillez-vous sachant que je souhaiterais le moins de lignes de code possible ?

    Merci d'avance pour vos suggestions.
    • Partager sur Facebook
    • Partager sur Twitter
      5 novembre 2011 à 22:45:35

      tu ajoutes son .Count:

      listboxEnterprises.Items.Add(listeboxEnterprises.Items.Count.toString()+" "+MyEnterprise.get_id_enterprise() + " " + MyEnterprise.get_company());
      


      Enfin je suppose que c'est ça que tu veux?
      En plus,pourquoi l'associé pour le récupérer lors du double clic, tu l'auras directement avec le SelectIndex
      • Partager sur Facebook
      • Partager sur Twitter
        7 novembre 2011 à 18:54:56

        Bonsoir,
        j'ai déjà essayé cette solution. Le problème est que chaque ligne correspondant à un enregistrement dans une base de données et l'ID de l'enregistrement ne correspondant pas forcément à la ligne.
        J'ai opté pour une autre solution trouvé sur le net : une liste (List) de structures contenant l'ID et le label de la ligne, ensuite j'utilise cette liste comme datasource pour ma listbox.

        Si ça peut aider certains, n'hésitez à demander plus de précisions.
        Bonne soirée.
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          7 novembre 2011 à 19:09:21

          Aaaargh...des getXXX en C#...pas beau...
          // Comment faire une propriété en C#
          
          // Champ privé
          private string _myProperty;
          
          // Propriété
          public string MyProperty
          {
              // Méthode get, qui doit retourner la propriété
              get
              {
                  // ...
                  return _myProperty;
              }
              // Méthode set, qui prend un paramètre nommé value et ne retourne rien
              // Cette méthode est optionnelle
              // Une propriété sans méthode set est en lecture seule
              set
              {
                  // ...
                  _myProperty = value;
              }
          }
          
          // Utilisation
          string s = myObject.MyProperty; // Appelle get
          myObject.MyProperty = "Hello"; // Appelle set, value vaut "Hello"
          
          // N.B. get et set peuvent prendre des modificateurs d'accès
          // p.ex. private set pour une propriété en lecture seule par les autres classes
          


          Pour revenir à ton problème, stocke des MyEntreprise dans les Items de ta ListBox, et définit la propriété DisplayMember de ta ListBox ensuite (tu peux par exemple créer une propriété FriendlyName dans ta classe MyEntreprise qui retourne un string composé de ce que tu veux).
          • Partager sur Facebook
          • Partager sur Twitter

          Listbox en C#

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown