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 :

Sortir une nouvel ObservableCollection d'un ObservableCollection


Sujet :

Windows Presentation Foundation

  1. #1
    Membre du Club
    Homme Profil pro
    Technicien d'étude
    Inscrit en
    Juin 2015
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien d'étude

    Informations forums :
    Inscription : Juin 2015
    Messages : 87
    Points : 61
    Points
    61
    Par défaut Sortir une nouvel ObservableCollection d'un ObservableCollection
    Bonjour le forum

    Voici ma problématique du jour :

    j'ai un XML :
    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
     
     
    <Enregistrements>
      <Enregistrement xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" TypeEnregistrement="APS" Batiment="A" Etage="RdC" Local="001" FullName="ARdC001" Y="0,8" K="1" VitessePlb="1,5">
        <APS Id="1" Profil="Standard" Nom="WC avec reservoir" DebitUnitaire="0.12" CoefficientAPSIndividuel="0.5" EF="true" EC="false" Quantite="10" />
        <APS Id="2" Profil="Standard" Nom="Urinoir avec robinet individuel" DebitUnitaire="0.15" CoefficientAPSIndividuel="0.5" EF="true" EC="false" Quantite="0" />
        <APS Id="3" Profil="Standard" Nom="Urinoir à action siphonique" DebitUnitaire="0.5" CoefficientAPSIndividuel="1" EF="true" EC="false" Quantite="0" />
        <APS Id="4" Profil="Standard" Nom="Lavabo collectif" DebitUnitaire="0.05" CoefficientAPSIndividuel="0.5" EF="true" EC="true" Quantite="0" />
        <APS Id="5" Profil="Standard" Nom="Lavabo / Vasque" DebitUnitaire="0.2" CoefficientAPSIndividuel="1.5" EF="true" EC="true" Quantite="20" />
        <APS Id="6" Profil="Standard" Nom="Lave mains" DebitUnitaire="0.1" CoefficientAPSIndividuel="0.5" EF="true" EC="true" Quantite="0" />
        <APS Id="7" Profil="Standard" Nom="Douche" DebitUnitaire="0.2" CoefficientAPSIndividuel="2" EF="true" EC="true" Quantite="0" />
        <APS Id="8" Profil="Standard" Nom="Baignoire" DebitUnitaire="0.2" CoefficientAPSIndividuel="3" EF="true" EC="true" Quantite="0" />
        <APS Id="9" Profil="Standard" Nom="Evier" DebitUnitaire="0.2" CoefficientAPSIndividuel="2.5" EF="true" EC="true" Quantite="0" />
        <APS Id="10" Profil="Standard" Nom="Lave vaiselle" DebitUnitaire="0.1" CoefficientAPSIndividuel="1" EF="true" EC="false" Quantite="0" />
        <APS Id="11" Profil="Standard" Nom="Lave linge" DebitUnitaire="0.2" CoefficientAPSIndividuel="1" EF="true" EC="false" Quantite="0" />
        <APS Id="12" Profil="Standard" Nom="Robinet de puisage" DebitUnitaire="0.33" CoefficientAPSIndividuel="2" EF="true" EC="false" Quantite="0" />
        <APS Id="13" Profil="Standard" Nom="Bouche incongelable" DebitUnitaire="0.33" CoefficientAPSIndividuel="2" EF="true" EC="false" Quantite="0" />
        <APS Id="14" Profil="Standard" Nom="Vidoir / Poste d'eau" DebitUnitaire="0.33" CoefficientAPSIndividuel="2" EF="true" EC="true" Quantite="0" />
        <APS Id="15" Profil="Standard" Nom="Autre" DebitUnitaire="0" CoefficientAPSIndividuel="0" EF="false" EC="false" Quantite="0" />
        <APSCHASSE Id="25" Profil="Standard" Nom="WC avec robinet de chasse" DebitUnitaire="1.5" EF="true" QuantiteChasse="0" />
        <APSCHASSE Id="26" Profil="Standard" Nom="Autre avec robinet de chasse" DebitUnitaire="0" EF="true" QuantiteChasse="0" />
      </Enregistrement>
    </Enregistrements>
    une Classe Xml Provider :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     class EnregistrementXmlProvider : IDataEnregistrement<Enregistrement>
     
       public IEnumerable<Enregistrement> GetAll()
            {
                return doc.Descendants("Enregistrement").Select(element => element.FromXElement<Enregistrement>());
            }
    et dans mon View Model
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
      var getallenregistrement = EnregistrementProvider.GetAll();
                Enregistrements = new ObservableCollection<Enregistrement>(getallenregistrement);
    Je voudrais récupérer tous les élements <APS> dans un ObservableCollection<APS> en fonction d'un critère

    j'ai essayé cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var aps = Enregistrements.Where(s => s.FullName == SelectedItemValue).SelectMany(e => e.APS) as ObservableCollection<APS>;
    Aps = new ObservableCollection<APS>(aps);
    mais aps me retourne null
    Auriez vous une suggestion.

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2013
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2013
    Messages : 51
    Points : 72
    Points
    72
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var aps = new ObservableCollection<APS>(Enregistrements.Where(s => s.FullName == SelectedItemValue).SelectMany(e => e.APS).ToList())

  3. #3
    Membre du Club
    Homme Profil pro
    Technicien d'étude
    Inscrit en
    Juin 2015
    Messages
    87
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien d'étude

    Informations forums :
    Inscription : Juin 2015
    Messages : 87
    Points : 61
    Points
    61
    Par défaut
    Merci dzediar

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

Discussions similaires

  1. trouver si une valeur est contenue dans ObservableCollection
    Par Golzinne dans le forum Silverlight
    Réponses: 3
    Dernier message: 25/01/2012, 10h08
  2. Réponses: 10
    Dernier message: 20/03/2009, 10h39
  3. Réponses: 3
    Dernier message: 17/06/2004, 16h59
  4. Réponses: 2
    Dernier message: 03/02/2004, 21h56
  5. [VB6] Ouverture d'une nouvelle fenêtre dans un MDI
    Par pepper dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 17/02/2003, 14h03

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