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 :

Lier 2 combobox dans une listView


Sujet :

Windows Presentation Foundation

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 206
    Points : 192
    Points
    192
    Par défaut Lier 2 combobox dans une listView
    Bonjour a tous,

    Je viens vers vous pour un problème de combobox dans une listView.
    Voici ce que je veux faire :
    J'ai une ListView alimenté par un dataset.
    Dans cette ListView j'ai 2 colonnes avec combobox. L'une dépend de l'autre. Et c'est la le problème. Si je modifie l'une, la 2ème n'est pas "rechargé".
    Mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
     <ObjectDataProvider x:Key="FamillesDataProvider" ObjectType="{x:Type tm:GestFamilles}" MethodName="GetDatas"></ObjectDataProvider>
     
            <DataTemplate x:Key="FamilleColumnTemplate">
                <ComboBox x:Name="CbFamilles" ItemsSource="{Binding Source={StaticResource FamillesDataProvider}, Path=FAMILLES}" 
                          SelectedValuePath="ID"  DisplayMemberPath="NAME" SelectedValue="{Binding FAMILLE_ID, Mode=TwoWay}">
                </ComboBox>
            </DataTemplate>
     
            <DataTemplate x:Key="TypologieColumnTemplate">
                <ComboBox ItemsSource="{Binding Source={StaticResource FamillesDataProvider}, Path=TYPOLOGIES}" DisplayMemberPath="NAME" SelectedValuePath="ID" 
                          SelectedValue="{Binding TYPOLOGIE_ID}" >
                </ComboBox>
            </DataTemplate>
     
     <ListView x:Name="GridEditor" ItemsSource="{Binding}"
                ItemContainerStyle="{DynamicResource ListViewItemStyle}">
                <ListView.View>
                    <GridView AllowsColumnReorder="False">
                        <GridViewColumn Header="Familles" Width="95"
                                        HeaderContainerStyle="{StaticResource GridViewColumnHeaderStyle}"
                                        CellTemplate="{StaticResource FamilleColumnTemplate}" />
     
                        <GridViewColumn Header="Typologies" Width="95"
                                        HeaderContainerStyle="{StaticResource GridViewColumnHeaderStyle}"
                                        CellTemplate="{StaticResource TypologieColumnTemplate}" />
     
                                       </GridView>
                </ListView.View>
            </ListView>
    Quelques explications :
    FamilleDataProvider récupère un dataset avec 2 datatables. Un qui s'appelle FAMILLES et l'autre TYPOLOGIES (pour mes 2 combos). Dans ce dataset j'ai créé une datarelation avec clé primaire et etrangère. (pour l'instant que je n'utilise pas. Mais qui peut peut-etre servir)

    Je voudrais juste pouvoir modifier les items de la combo Typologie en modifiant la combo Famille.

    J'espere avoir été clair. Merci d'avance.

  2. #2
    Membre éprouvé Avatar de jmix90
    Homme Profil pro
    Consultant .Net
    Inscrit en
    Juillet 2007
    Messages
    576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2007
    Messages : 576
    Points : 998
    Points
    998
    Par défaut
    Hello,

    Je pense que cela est possible par contre il faudra que dans ton binding tu ailles rechercher la bonne colonne pour redescendre jusqu'à la combobox cible...

    J'espère être clair

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 206
    Points : 192
    Points
    192
    Par défaut
    Bonjour,

    J'ai essayé un tas de facon de binder (qui ne doivent pas etre les bonnes, puisque ca ne fonctionne toujours pas).
    Si tu pouvais me donner quelques explications, je ne suis pas contre.
    Merci.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    206
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 206
    Points : 192
    Points
    192
    Par défaut
    Bonjour,

    J'ai finallement fait autrement. J'ai extrait mes 2 combos de la grille. Et je les ai remplacé par le libellé (concaténer) de la famille et de la typologie.
    Lorsque je selectionne ma famille et ma typologie. Je valide par un bouton et je change dans la grille.
    Voila, Merci de m'avoir aidé.
    Bonne journée.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/05/2015, 19h34
  2. Combobox dans une listview
    Par Ornitho76 dans le forum Windows Presentation Foundation
    Réponses: 6
    Dernier message: 13/12/2008, 19h34
  3. [VB.NET] Objet .Tag dans une ListView
    Par Lois dans le forum Windows Forms
    Réponses: 7
    Dernier message: 12/10/2004, 17h35
  4. [VB6] Supprimer un enregistrement dans une ListView ??
    Par Argonz dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 14/11/2002, 10h37

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