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 :

Combobox dans une listview


Sujet :

Windows Presentation Foundation

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 110
    Points : 55
    Points
    55
    Par défaut Combobox dans une listview
    Salut tout le monde,

    Voici mon soucis, j'ai une listview avec 2 colonnes dont la deuxième possèdent des combobox, dans cette listview il y a 25 lignes.
    Ce que je n'arrive pas à faire c'est récupérer l'index de ma ligne quand je fais un choix dans une des combobox, avec l'événement _SelectionChanged de ma listview l'index est toujours a -1,
    et je n'arrive pas non plus à récupérer le text de l'item choisi dans la combobox, seulement l'index de celui-ci donc si quelqu'un pouvait m'aider pour c'est deux petit problème merci bien.

    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
    <ListView Margin="435.512,48,602.162,187.532" Name="listPoste" SelectionChanged="ListPost_SelectionChanged" MouseDoubleClick="listPoste_DoubleClick">
                <ListView.View>
                    <GridView>
                        <GridViewColumn  Header="Salle informatique" Width="102"/>
                        <GridViewColumn Header="Servis">
                            <GridViewColumn.CellTemplate>
                                <DataTemplate>
                                    <ComboBox Name="ComboList" SelectedIndex="0" SelectionChanged="ComboBoxListPost_SelectionChanged">
                                        <ComboBoxItem>Non</ComboBoxItem>
                                        <ComboBoxItem>Oui </ComboBoxItem>
                                    </ComboBox>
                                </DataTemplate>
                            </GridViewColumn.CellTemplate>
                        </GridViewColumn>        
                   </GridView>
                </ListView.View>
            </ListView>

  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 il y a plus simple sans passer par les event
    comme tu vas de toute facon etre oblige de mettre un binding pour les données je te suggere de faire la chose suivante

    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
     
    <ListView.View>
                                                        <GridView AllowsColumnReorder="True" >
                                                            <GridViewColumn Header="{DynamicResource T_HEADER_INDEX}" Width="Auto" DisplayMemberBinding="{Binding Path=Index}"/>
                                                            <GridViewColumn Header="{DynamicResource T_HEADER_PRI_SYNC}" Width="Auto" >
                                                                <GridViewColumn.CellTemplate>
                                                                    <DataTemplate>
                                                                        <ComboBox Margin="1,1,1,1" Width="50"
                                                                    Background="{Binding Path=Background, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type ListViewItem}}}"
                                                                    GotFocus="TextBox_GotFocus3"
                                                                    SelectedItem="{Binding Path=PRISync, Mode=TwoWay}">
                                                                            <sys:Boolean>true</sys:Boolean>
                                                                            <sys:Boolean>false</sys:Boolean>
                                                                        </ComboBox>
                                                                    </DataTemplate>
                                                                </GridViewColumn.CellTemplate>
                                                            </GridViewColumn>
    amon avis ca devrais etre plus simple pour toi
    IKEAS : Finalement je crois que c'est dans ses faiblesses que l'on y trouve a la fois de la force et a la fois de la richesse...
    ----------------------------------------------------
    Si vous avez du taf en wpf & design d'application sympa, contactez moi !!!!
    http://ultimatecorp.eu/wpf/

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 110
    Points : 55
    Points
    55
    Par défaut
    Merci pour la réponse aussi rapide^^

    J'ai essayé ton code mais j'ai une erreur à ce niveau là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <sys:Boolean>true</sys:Boolean>
    <sys:Boolean>false</sys:Boolean>
    J'ai un message comme quoi le type est introuvable, vérifier si qu'une référence d'assembly n'est pas manquante.

  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 pardon fo bien entendu rajouter
    xmlns:sys="clr-namespace:System;assembly=mscorlib"
    IKEAS : Finalement je crois que c'est dans ses faiblesses que l'on y trouve a la fois de la force et a la fois de la richesse...
    ----------------------------------------------------
    Si vous avez du taf en wpf & design d'application sympa, contactez moi !!!!
    http://ultimatecorp.eu/wpf/

  5. #5
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 110
    Points : 55
    Points
    55
    Par défaut
    Merci pour la réponse ca compile bien. Mais étant un peu novice en la matière de WPF pourrait tu m'expliquer un peu le code pour que je puisse l'utiliser ?

  6. #6
    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
    dans le template de la colonne
    on colle une combo qui contient deux objets de type boolean
    un vrai et un faux
    et on ne fait que binder la propriete PRISync de l'objet
    qu'on aurait sour la forme

    public class monObjet
    {
    private bool _PRISync =false;
    public bool PRISync {
    get { return _PRISync; }
    set { _PRISync = value; }
    }

    public class monObjetCollection : Observablecollection<monObjet>
    {}

    tu cree une collection monObjetcollection
    que tu remplis
    par exemple
    monObjetcollection x = new monObjetcollection();
    x.add( new monObjet { PRISync =true });
    x.add( new monObjet { PRISync =false });

    apres tu met cette collection dans le itemsource de la listview
    soit directement en resource soit en code
    ce qui fait que la collection se trouve dans la listview
    et donc pour chaque ligne il prendra un objet de la collection
    et pour chaque col de la ligne il bindera la col sur la propriete de l'objet
    voila
    IKEAS : Finalement je crois que c'est dans ses faiblesses que l'on y trouve a la fois de la force et a la fois de la richesse...
    ----------------------------------------------------
    Si vous avez du taf en wpf & design d'application sympa, contactez moi !!!!
    http://ultimatecorp.eu/wpf/

  7. #7
    Membre du Club
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 110
    Points : 55
    Points
    55
    Par défaut
    d'accord, je te remercie ca va beaucoup m'aider

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/05/2015, 18h34
  2. Lier 2 combobox dans une listView
    Par dudule dans le forum Windows Presentation Foundation
    Réponses: 3
    Dernier message: 09/11/2010, 12h07
  3. [VB.NET] Objet .Tag dans une ListView
    Par Lois dans le forum Windows Forms
    Réponses: 7
    Dernier message: 12/10/2004, 16h35
  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, 09h37

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