IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Databinding listbox et propertygrid


Sujet :

Windows Forms

  1. #1
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 388
    Points : 2 999
    Points
    2 999
    Par défaut Databinding listbox et propertygrid
    Bonjour,

    Je voudrais afficher une liste de noms de clients dans une listbox et les infos du client en cours de sélection dans une propertygrid.

    Pour la listbox, j'assigne les propriétés Datasource et DisplayMember.
    Pour afficher un client en particulier, j'assigne SelectedObject de propertygrid à un objet client.

    Mais je ne trouve pas comment avoir automatiquement l'objet sélectionné dans ma liste affiché dans la propertygrid. Et aussi, si je change le nom du client dans la propertygrid, comment refléter automatiquement le changement dans la listbox.

    Quelqu'un aurait un lien vers un tutoriel expliquant la marche à suivre ?

    J-L

  2. #2
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 388
    Points : 2 999
    Points
    2 999
    Par défaut
    Ne trouvant la solution "automatique", j'ai contourné le problème en cocant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    private void dataGridView1_RowEnter(object sender, DataGridViewCellEventArgs e)
            {
                textBox1.DataBindings.Clear();
                textBox1.DataBindings.Add("Text", clients[e.RowIndex], "Nom");
                numericUpDown1.DataBindings.Clear();
                numericUpDown1.DataBindings.Add("value", clients[e.RowIndex], "Age");
            }
    Mais je suis bien sur qu'il y a mieux ...

  3. #3
    Membre éclairé
    Avatar de shwin
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2003
    Messages : 568
    Points : 777
    Points
    777
    Par défaut
    Bind toi sur les meme clients et fait en sorte que le client implémente INotifyPropertyChanged et met les clients dans une bindinglist.
    Remoting Context Matters
    Everything in this chapter is 100 percent undocumented. Reliance on these techniques is not supported by either Microsoft, the publisher, or the author of this book. Use at you own risk! If your computer won't work afterwards, your toaster blows up or your car doesn't start, I assume no liability whatsoever: You're now about to enter the uncharted territories of .NET and you do so on your own risk. I can only provide some guidance

  4. #4
    Membre émérite

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2007
    Messages
    3 388
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2007
    Messages : 3 388
    Points : 2 999
    Points
    2 999
    Par défaut
    Merci.

    J'ai fais comme ça et j'ai bien les modifications qui sont prises en compte et annoncées.

    Pour mon test, j'ai finalement pris une datagridview associée à une propertygrid.
    Pour afficher l'objet correspondant à la ligne de ma datagridview, j'ai fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            private void dataGridView1_RowEnter(object sender, DataGridViewCellEventArgs e)
            {
                propertyGrid1.SelectedObject = clients[e.RowIndex]; 
            }
    Est-ce la meilleure solution ou y at-il quelque chose de plus propre ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Databinding ListBox un Item en plus
    Par rdh123 dans le forum Windows Presentation Foundation
    Réponses: 5
    Dernier message: 11/08/2010, 13h10
  2. DataBinding dans une ListBox
    Par SKone dans le forum Windows Presentation Foundation
    Réponses: 14
    Dernier message: 23/02/2009, 18h31
  3. propertygrid et listbox
    Par waspy59 dans le forum VB.NET
    Réponses: 15
    Dernier message: 21/05/2008, 13h09
  4. Listbox et propertygrid
    Par freerider74 dans le forum C#
    Réponses: 2
    Dernier message: 08/04/2008, 11h25
  5. Propertygrid et listbox (problemes)
    Par waspy59 dans le forum VB.NET
    Réponses: 5
    Dernier message: 29/02/2008, 09h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo