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

Silverlight Discussion :

comment récupérer la liste des lignes sélectionnées avec une checkbox dans une datagrid?


Sujet :

Silverlight

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mai 2008
    Messages : 99
    Points : 49
    Points
    49
    Par défaut comment récupérer la liste des lignes sélectionnées avec une checkbox dans une datagrid?
    Bonjour,
    supposant que j'ai une datagrid qui est implémentée d'une liste disant de personnes ayant nom, prénom etc..
    la datagird m'affiche aussi une colonne de type "DataGridCheckBoxColumn".

    Comment je peux récupérer la liste des personnes dont la colonne DataGridCheckBoxColumn a été sélectionnée.

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Essaye ca: http://msdn.microsoft.com/en-us/libr...er(VS.95).aspx avec un coup de VisualTreeHelper

  3. #3
    Membre émérite
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Points : 2 682
    Points
    2 682
    Par défaut
    Sinon tu peux implémenter une propriété de type boolean (par exemple IsChecked) dans ton objet représentant une ligne. Tu bindes ensuite ton DataGridCheckBoxColumn sur cette propriété. tu n'as plus qu'a parcourir ta liste d'objet en vérifiant IsChecked pour savoir lequel est sélectionné.
    .
    Pas de question technique en MP, merci.
    .
    Un emulator Gameboy Color pour Windows Phone ?
    c'est moi qui l'ai fait

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mai 2008
    Messages : 99
    Points : 49
    Points
    49
    Par défaut
    Citation Envoyé par Samoteph Voir le message
    Sinon tu peux implémenter une propriété de type boolean (par exemple IsChecked) dans ton objet représentant une ligne. Tu bindes ensuite ton DataGridCheckBoxColumn sur cette propriété. tu n'as plus qu'a parcourir ta liste d'objet en vérifiant IsChecked pour savoir lequel est sélectionné.
    comment faire parcourir la liste? notez que ma datagrid est impémentée d'une liste retournée par wcf.

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 121
    Points : 135
    Points
    135
    Par défaut
    Citation Envoyé par dhay06 Voir le message
    comment faire parcourir la liste? notez que ma datagrid est implémentée d'une liste retournée par WCF.
    ben en faisant un TwoWay binding t'aura plus qu'a checker pour chaque élément de ta List la propriété IsChecked qui correspondra

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var mesElementsChecked = lalisteWCF.Where(el=>el.IsChecked).ToList();
    object reference not set to an instance of an object

  6. #6
    Membre émérite
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Points : 2 682
    Points
    2 682
    Par défaut
    merci Damo pour ta réponse synthétique

    On peut ajouter que tu n'as pas besoin définir la propriété IsChecked au niveau serveur. En déclarant une classe "partial" de même nom et de même namespace que celle autogénérée par WCF coté Silverlight, tu peux rajouter les propriété que tu veux :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    namespace NameSpaceWCF
    {
    public partial class ObjetWCF
    {
         public bool IsChecked
         {
              get;
              set;
         }
    }
    }
    .
    Pas de question technique en MP, merci.
    .
    Un emulator Gameboy Color pour Windows Phone ?
    c'est moi qui l'ai fait

  7. #7
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mai 2008
    Messages : 99
    Points : 49
    Points
    49
    Par défaut
    Citation Envoyé par DaMo` Voir le message
    ben en faisant un TwoWay binding t'aura plus qu'a checker pour chaque élément de ta List la propriété IsChecked qui correspondra

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var mesElementsChecked = lalisteWCF.Where(el=>el.IsChecked).ToList();
    où justement écrire ce code?

    et ou définir le mode twoway, dans ce code j'ai pas pu modifié le mode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <data:DataGridCheckBoxColumn Header="etat" Binding="{Binding isChecked}"/>

  8. #8
    Membre émérite
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Points : 2 682
    Points
    2 682
    Par défaut
    et ou définir le mode twoway, dans ce code j'ai pas pu modifié le mode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <data:DataGridCheckBoxColumn Header="etat" Binding="{Binding isChecked, Mode=TwoWay}"/>
    .
    Pas de question technique en MP, merci.
    .
    Un emulator Gameboy Color pour Windows Phone ?
    c'est moi qui l'ai fait

  9. #9
    Membre du Club
    Homme Profil pro
    Inscrit en
    Mai 2008
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mai 2008
    Messages : 99
    Points : 49
    Points
    49
    Par défaut
    Citation Envoyé par Samoteph Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <data:DataGridCheckBoxColumn Header="etat" Binding="{Binding isChecked, Mode=TwoWay}"/>
    c vrai que je suis nul, merci

  10. #10
    Membre émérite
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Points : 2 682
    Points
    2 682
    Par défaut
    Tu débutes. pas de problème
    .
    Pas de question technique en MP, merci.
    .
    Un emulator Gameboy Color pour Windows Phone ?
    c'est moi qui l'ai fait

  11. #11
    Membre régulier Avatar de cyberbobby
    Inscrit en
    Février 2009
    Messages
    171
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 171
    Points : 106
    Points
    106
    Par défaut
    Citation Envoyé par Samoteph Voir le message
    merci Damo pour ta réponse synthétique

    On peut ajouter que tu n'as pas besoin définir la propriété IsChecked au niveau serveur. En déclarant une classe "partial" de même nom et de même namespace que celle autogénérée par WCF coté Silverlight, tu peux rajouter les propriété que tu veux :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    namespace NameSpaceWCF
    {
    public partial class ObjetWCF
    {
         public bool IsChecked
         {
              get;
              set;
         }
    }
    }
    Waw ! Extra ça, jamais pensé ! Merci pour l'info

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

Discussions similaires

  1. comment récupérer le liste des tables et des champs
    Par sekaijin dans le forum PostgreSQL
    Réponses: 9
    Dernier message: 26/07/2006, 16h26
  2. [C#] Comment récupérer la liste des serveurs MSSQL?
    Par sorcer1 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 31/01/2006, 18h06
  3. Comment récupérer la liste des contacts de outlook express?
    Par arnaud_verlaine dans le forum Outlook Express / Windows Mail
    Réponses: 6
    Dernier message: 12/10/2004, 15h53
  4. [MAP] comment récupérer la liste des clé ordonnées
    Par Alec6 dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 21/07/2004, 16h37
  5. Comment récupérer la liste des logiciels installés sur une machine ?
    Par david_chardonnet dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 19/09/2003, 17h41

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