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 :

VB.net WPF : bonne pratique ? (Observablecollection List(of ) data binding) [Débutant]


Sujet :

Windows Presentation Foundation

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 65
    Points : 43
    Points
    43
    Par défaut VB.net WPF : bonne pratique ? (Observablecollection List(of ) data binding)
    Bonjour à tous

    j'ai une classe "Identité" (id,nom, prenom, matière ...) pour lequel j'ai besoin de faire du binding ordré (suivant matière et id )dans un datagrid (fenêtre centrale) et en meme temps du binding filtré (suivant matière ) dans une listbox (fenêtre sur le coté)

    J'ai réussi le binding avec un observable collection mais le tri avec .findall n'est pas possible
    J'ai réussi le tri avec list(of).findall mais le binding ne fonctionne pas dans ce cas.

    Quel est la bonne technique pour profiter à la fois du tri, filtrage et du binding ?
    est il préférable de faire le bindind via .datacontext ou directement en xaml?

    Merci d'avance pour votre temps.

  2. #2
    Membre confirmé Avatar de koyot3
    Inscrit en
    Avril 2007
    Messages
    693
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 693
    Points : 610
    Points
    610
    Par défaut
    Hello,

    Je te conseille de passer par l'interface ICollectionView.
    Par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Persons = new ObservableCollection<Person>();
     
    //remplissage de la collection
     
    View1 = CollectionViewSource.GetDefaultView(persons);
    View1.SortDescriptions.Add(new SortDescription("Matiere", ListSortDirection.Ascending));
    View1.SortDescriptions.Add(new SortDescription("Id", ListSortDirection.Ascending));
     
    View2 = CollectionViewSource.GetDefaultView(persons);
    View2.SortDescriptions.Add(new SortDescription("Matiere", ListSortDirection.Ascending));
    avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public ICollectionView _view1;
    public ICollectionView View1
    {
        get { return _view1; }
        set { SetProperty(ref _view1, value); }
     }
    Et ensuite tu bindes directement ces collections sur tes contrôles.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <Datagrid ItemsSource="{Binding View1}"/>
    En espérant que ça t'aide.

    Bonne journée

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

Discussions similaires

  1. Réponses: 18
    Dernier message: 03/09/2019, 01h02
  2. [Bonnes pratiques JSF] liste déroulante
    Par scorplayer dans le forum JSF
    Réponses: 8
    Dernier message: 11/05/2010, 17h23
  3. Bonnes pratiques asp.net pour le réferencement
    Par Iruddy dans le forum ASP.NET
    Réponses: 2
    Dernier message: 02/03/2009, 10h26
  4. [Article] Bonnes pratiques objet en .net : Introduction aux principes SOLID
    Par Philippe Vialatte dans le forum Général Dotnet
    Réponses: 0
    Dernier message: 25/02/2009, 17h47
  5. [C#/ASP.Net/DAL] Quelles sont les bonnes pratiques ?
    Par fouhaa dans le forum Accès aux données
    Réponses: 4
    Dernier message: 13/07/2006, 23h54

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