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 object DataProvider


Sujet :

Windows Presentation Foundation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 192
    Par défaut Binding object DataProvider
    Re bonjour

    Je cherche à Binder unelistbox via un objectDataProvider. Hors le résultat dans la listbox est mauvais. Pouvez vous m'aiclairer sur ce qui ne vas pas dans mon code
    Merci

    Classe contenant la méthode qui doit alimenter ma listbox. Retourne une liste d' ADObject et je voudrait que la propriété Cn de ces objets s'affichent.

    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
     
    using System;
    using System.Collections.Generic;
    using System.Collections.ObjectModel;
    using System.Linq;
    using System.Text;
    using Rcb.ActiveDirectory;
    using Rcb.ActiveDirectory.Objects;
     
    namespace ADManagement
    {
        public class GbbUserProvider : ObservableCollection<ADObject>
        {
            public GbbUserProvider()
            {
            }
     
            public List<ADObject> GetUsers()
            {
                return ADSearcher.findAllUsers(ADConnection.createParisServiceAccountsDirectoryEntry(), false);
            }
        }
    }
    Fichier XAML
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    <ObjectDataProvider x:Key="odpGbbUser"
                        ObjectType="{x:Type local:GbbUserProvider}"
                        MethodName="GetUsers" />
     
            <ListBox  IsTextSearchEnabled="True"
    DataContext="{Binding Source={StaticResource odpGbbUser}}" ItemsSource="{Binding Path=Cn}" Grid.Row="4" Name="listBox1" />

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Citation Envoyé par richton95 Voir le message
    Hors le résultat dans la listbox est mauvais.
    C'est-à-dire ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 192
    Par défaut
    bien au lieu de me retrouver avec

    item1
    item2
    item3
    ...

    je me retrouve seulement avec

    i
    t
    e
    m
    1


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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Par défaut
    Essaye ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <ListBox  IsTextSearchEnabled="True"
    DataContext="{Binding Source={StaticResource odpGbbUser}}" ItemsSource="{Binding}" Grid.Row="4" Name="listBox1" />

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 192
    Par défaut
    Je vois effectivement tous mes objets dans la liste: mais ils aparaissent sous

    Rcb.ACtiveDirectory.ADUser

    En gros il reste à la racine, il ne m'affichent pas la propriété "Cn" que je recherche. La déclaration au niveau du "path" n'est pas bonne ?

    j'ai éssayé avec cela

    Class :
    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
     
    using System;
    using System.Collections.Generic;
    using System.Collections.ObjectModel;
    using System.Linq;
    using System.Text;
    using Rcb.ActiveDirectory;
    using Rcb.ActiveDirectory.Objects;
     
    namespace ADManagement
    {
        public class GbbUserProvider : ObservableCollection<ADObject>
        {
            private ObservableCollection<ADUser> _results = new
    ObservableCollection<ADUser>();
     
            public GbbUserProvider() : base()
            {
     
            }
     
            public ObservableCollection<ADUser> GetUsers()
            {
                foreach (ADUser obj in ADSearcher.findAllUsers(ADConnection.createParisServiceAccountsDirectoryEntry(), false))
                {
                    _results.Add(obj);
                }
                return _results;
            }
        }
    XAML
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
           <ListBox  IsTextSearchEnabled="True"
    DataContext="{Binding Source={StaticResource odpGbbUser}}" ItemsSource="{Binding Path=ADUser/Cn}"
    Ca ne marche pas non plus

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    2 210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 210
    Par défaut
    Salut,

    Le binding est correct comme cela, mais il faut utiliser un template pour afficher ce que tu souhaites.
    Pour la listBox, tu vas devoir jouer sur les template des listBoxItem.

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <ListBox IsTextSearchEnabled="True" DataContext="{Binding Source={StaticResource odpGbbUser}}" ItemsSource="{Binding}" Grid.Row="4" Name="listBox1" >
      <ListBox.ItemTemplate>
        <DataTemplate>
          <TextBlock Text="{Binding Cn}" />
        </DataTemplate>
      </ListBox.ItemTemplate>  
    </ListBox>

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

Discussions similaires

  1. [Windows Phone 8] Binding object Image
    Par iguins dans le forum Windows Phone
    Réponses: 4
    Dernier message: 16/04/2013, 19h32
  2. DataGridViewComboBoxColumn binding objects
    Par m.joseph dans le forum VB.NET
    Réponses: 5
    Dernier message: 13/10/2010, 09h44
  3. binding ArrayCollection vers un tableau d'Object
    Par julien.63 dans le forum ActionScript 3
    Réponses: 0
    Dernier message: 04/12/2009, 11h47
  4. Binding object DataProvider Combobox
    Par richton95 dans le forum Windows Forms
    Réponses: 0
    Dernier message: 05/08/2009, 10h24
  5. [Resource] Comment réussir un Binding sur un object string vide ?
    Par ikeas dans le forum Windows Presentation Foundation
    Réponses: 10
    Dernier message: 02/10/2008, 12h56

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