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 Presentation Foundation Discussion :

Binding objet et combobox dans listview


Sujet :

Windows Presentation Foundation

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 47
    Points : 25
    Points
    25
    Par défaut Binding objet et combobox dans listview
    Salut tous le monde,

    j'ai une classe Fournisseur avec tous les paramètres et les assesseurs, j'interroge ma base de donnée pour récupérer tous mes fournisseurs que je récupère grâce a un objet de la classe Fournisseur. Se qui me pose problème c'est le faite d'ajouter mes objets dans ma combobox qui sera créer dynamiquement. Je sais qu'il faut que j'utilise le binding sur ma combobox mais je ne sais pas a quel endroit ?
    Quelqu'un pourrait-il m'expliquer svp ?

    Merci par avance

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 562
    Points : 1 313
    Points
    1 313
    Par défaut
    en fait si ta collection herite de observable collection
    quand tu vas rajouter des elements dedans automatiquement
    ta combo box va evoluer

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 47
    Points : 25
    Points
    25
    Par défaut
    pour le moment je n'ai pas écrit le code pour ajouter dans ma combobox, et quelle(s) propriété(s) faut il utiliser pour lié la collection a la combobox, source ? itemSource ?

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 562
    Points : 1 313
    Points
    1 313
    Par défaut
    oui je t'essssplique
    dans les windows.resource tu met la creation de ta collection

    puis tu fais un binding de celle ci (la clef) pour ta combobox dans item source

  5. #5
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 562
    Points : 1 313
    Points
    1 313
    Par défaut
    voici un exemple pour t'éclairer plus
    <Window.Resources>
    <LocalersonneCollection x:Name="Personnes" x:Key="Personnes" />
    tu remplacera le par ": P" sans l'espace
    ne pas oublier de mettre le namespace
    xmlns:Local="clr-namespace:nom de ton assembly"
    la collection
    public class PersonneCollection : ObservableCollection<Personne>
    {
    ....
    }
    le binding de la combo
    <ComboBox Name="comboBox1" ItemsSource="{Binding Source={StaticResource Personnes}}"
    pour charger affecter la collection
    soit tu fais
    PersonneCollection pc = new PersonneCollection();
    ... // charger la colelction
    (this.Resources["Personnes"] as PersonneCollection).CopyFrom(pc);
    avec ca dans la collection
    public void CopyFrom(PersonneCollection _PersonneCollection)
    {
    foreach (Personne p in _PersonneCollection)
    this.Add(p);
    }
    soit tu fais
    PersonneCollection pc = (this.Resources["Personnes"] as PersonneCollection);
    et la tu charge la collection avec tes objets

    j'ai fait ca avec des personnes mais tu corrigera pour ta classe a toi

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 47
    Points : 25
    Points
    25
    Par défaut
    merci pour l'exemple, je regarde sa demain et je te dis si sa marche

    merci encore

  7. #7
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 562
    Points : 1 313
    Points
    1 313
    Par défaut
    je l'ai pris su un exemple a moi ca serait etonnant que ca ne marcha point ehehehehehheeheh

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 47
    Points : 25
    Points
    25
    Par défaut
    j'ai donc essayer le code que tu m'as donner mais j'ai quelque erreur.

    j'ai remplacer personne par fournisseur

    mais j'ai une erreur dans :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <Local:FournisseurCollection x:Name="Fournisseur" x:Key="Fournisseur" />
    le mot local est souligner ainsi que FournisseurCollection pourtant j'ai bien mis l'assembly dans le fichier ressource :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xmlns:Local="clr-namespace:PLugInCafe"
    Si tu sais d'ou provient l'erreur, ça m'aiderai ^^

  9. #9
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Points : 722
    Points
    722
    Par défaut
    Citation Envoyé par warmy Voir le message
    le mot local est souligner ainsi que FournisseurCollection pourtant j'ai bien mis l'assembly dans le fichier ressource :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    xmlns:Local="clr-namespace:PLugInCafe"
    Si tu sais d'ou provient l'erreur, ça m'aiderai ^^
    Tu dois mettre cette ligne dans le fichier XAML contenant ton contrôle.

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 47
    Points : 25
    Points
    25
    Par défaut
    j'ai modifier en consequence mon code mais j'ai toujours une erreur, cette fois ci elle se trouve au niveau de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (this.Resources["Personnes"] as PersonneCollection).CopyFrom(pc);
    le .CopyFrom est indiqué comme faux bien que juste après il y ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public void CopyFrom(PersonneCollection _PersonneCollection)
    {
    foreach (Personne p in _PersonneCollection)
    this.Add(p);
    }
    pourtant il y a aussi une erreur dans ce code ci au niveau de this.Add(p);

    j'ai peut être oublié quelque chose

  11. #11
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Points : 722
    Points
    722
    Par défaut
    Citation Envoyé par warmy Voir le message
    j'ai modifier en consequence mon code mais j'ai toujours une erreur, cette fois ci elle se trouve au niveau de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (this.Resources["Personnes"] as PersonneCollection).CopyFrom(pc);
    le .CopyFrom est indiqué comme faux
    C'est quoi l'erreur ?


    Citation Envoyé par warmy Voir le message
    bien que juste après il y ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public void CopyFrom(PersonneCollection _PersonneCollection)
    {
    foreach (Personne p in _PersonneCollection)
    this.Add(p);
    }
    pourtant il y a aussi une erreur dans ce code ci au niveau de this.Add(p);

    j'ai peut être oublié quelque chose
    Qu'est-ce que tu entends par juste après ?
    Si tu as déclaré cette méthode dans la même classe que la ligne précédente (donc dans ta fenêtre ou ton UserControl), c'est normal que ça plante.
    Cette méthode doit être définie dans ta classe PersonneCollection.

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 47
    Points : 25
    Points
    25
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (this.Resources["Personnes"] as PersonneCollection).CopyFrom(pc);
    il me dit que .CopyFrom(pc); n'existe pas, qu'il manque un assembly.

    je te montre le code :

    dans ma classe j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public class FournisseurCollection : ObservableCollection<Fournisseur>
        {
     
            public void CopyFrom(FournisseurCollection _FournisseurCollection)
            {
                foreach (Fournisseur f in _FournisseurCollection)
                this.Add(f);
            } 
        }
    et dans mon code controle j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     FournisseurCollection fc = new FournisseurCollection();
            // charger la colelction
            (this.Resources["Fournisseur"] as FournisseurCollection).CopyFrom(fc);
    Pour l'erreur .CopyFrom il me dit "cette méthode doit avoir un type de retour" et pour ["Fournisseur"] il me dit identificateur attendue

    voila pour les erreurs

  13. #13
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 562
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 562
    Points : 1 313
    Points
    1 313
    Par défaut
    fait la chose en deuxtemps deja
    FournisseurCollection fx = (this.Resources["Fournisseur"] as FournisseurCollection);
    fx.CopyFrom(fc);
    regarde deja si fx est initialisé et si avec l'intellisens tu as bien le copy from dedans

Discussions similaires

  1. [XAML] Binding de plusieurs ComboBox dans une ListBox
    Par thelpi dans le forum Windows Presentation Foundation
    Réponses: 5
    Dernier message: 08/12/2008, 09h17
  2. est ce possible de faire apparaitre un combobox dans l'objet ado
    Par kayuyu dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 03/09/2008, 11h23
  3. [WPF] textbox ou combobox dans un listview
    Par modafine dans le forum Windows Presentation Foundation
    Réponses: 5
    Dernier message: 14/08/2008, 10h37
  4. Probleme affichage comboBox dans un listView
    Par fordofin dans le forum Windows Presentation Foundation
    Réponses: 9
    Dernier message: 06/05/2008, 13h18
  5. [WPF][C#] combobox dans listview
    Par azerty53 dans le forum C#
    Réponses: 7
    Dernier message: 24/01/2008, 14h32

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