définir l'ordre de tri initial dans Silverlight DataGrid?



1 Answers

C'était ma solution:

if (pcv.CanSort == true)
{
      pcv.SortDescriptions.Add(new SortDescription("ProductionStatus", ListSortDirection.Ascending));
      pcv.SortDescriptions.Add(new SortDescription("Date", ListSortDirection.Descending));
}

, où pcv est un PageCollectionView. Cela trie d'abord par la propriété ProductionStatus, puis par la propriété Date. Il affiche la petite flèche de tri seulement pour la deuxième colonne.

Question

Lorsque je charge les données pour la première fois dans un contrôle Silverlight DataGrid, comment puis-je faire en sorte que l'écran apparaisse exactement comme si l'utilisateur venait de cliquer sur l'en-tête de la première colonne? En d'autres termes, les données doivent être triées dans l'ordre croissant en fonction des valeurs de cette colonne, ET la petite flèche de tri doit être affichée dans l'en-tête de la première colonne.

En supposant que cela soit possible, puis-je également faire en sorte que l'utilisateur ait cliqué sur la première colonne et ensuite cliqué sur la seconde? En d'autres termes, puis-je programmer un tri en deux parties et faire en sorte que l'écran ressemble à l'utilisateur?




Ajoutez simplement un SortDescriptor à DomainDataSource:

<riaControls:DomainDataSource.SortDescriptors>
    <riaControls:SortDescriptor PropertyPath="ColumnName" Direction="Descending" />
</riaControls:DomainDataSource.SortDescriptors>



Related