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 :

ListView, Sort et DataTemplates


Sujet :

Windows Presentation Foundation

  1. #1
    Membre Expert Avatar de davcha
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 258
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 258
    Par défaut ListView, Sort et DataTemplates
    J'affiche dans une ListView des objets de type Contact et Organisation. Tous deux dérivent d'un type de base Entry.

    J'affiche des colonnes qui sont communes à Contact et Organisation, donc tout va bien de ce côté là.
    Par contre, j'affiche tout de même 1 colonne dont le résultat est "calculé". En clair, il s'agit d'une colonne "Nom".

    Quand j'ai une organisation, j'affiche Organisation.Name
    et quand j'ai un contact, j'affiche Contact.Title + Contact.FirstName + Contact.LastName.

    Ca marche bien avec un contentpresenter avec des datatemplates en ressources pour la colonne en question :
    Code xaml : 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
    <GridViewColumn Header="Nom">
    	<GridViewColumn.CellTemplate>
    		<DataTemplate>
    			<ContentControl Content="{Binding Object}">
    				<ContentControl.Resources>
    					<DataTemplate DataType="{x:Type logic:Contact}">
    						<TextBlock>
    							<TextBlock Text="{Binding Title}" />
    							<TextBlock Text="{Binding FirstName}" />
    							<TextBlock Text="{Binding LastName}" />
    						</TextBlock>
    					</DataTemplate>
    					<DataTemplate DataType="{x:Type logic:Organisation}">
    						<TextBlock Text="{Binding Name}" />
    					</DataTemplate>
    				</ContentControl.Resources>
    			</ContentControl>
    		</DataTemplate>
    	</GridViewColumn.CellTemplate>
    </GridViewColumn>

    Par contre, comment faire un tri sur cette colonne quand je click sur l'en-tête de colonne ?... La méthode des SortDescription me parait un peu compromise.

  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
    Lors du clic sur le header, tu peux essayer d'utiliser une ListCollectionView et sa propriété CustomSort (qui doit implémenter un IComparer)

Discussions similaires

  1. listview sorting item fixe
    Par ouiouioui dans le forum Langage
    Réponses: 1
    Dernier message: 15/11/2009, 15h54
  2. ListView, sort et EntityCollection
    Par anthyme dans le forum Windows Presentation Foundation
    Réponses: 7
    Dernier message: 09/07/2009, 15h33
  3. [Demande de composant] Une sorte de jolie listview
    Par Coussati dans le forum Composants VCL
    Réponses: 2
    Dernier message: 25/11/2008, 02h52
  4. ListView
    Par SnickeursMan dans le forum Composants VCL
    Réponses: 2
    Dernier message: 14/08/2002, 10h42

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