Je dois être capable de charger une page de résultats dans la grille à partir de plusieurs dizaines de milliers de résultats possibles. Je veux obtenir les données dans les pages de cinquante du serveur, en utilisant SQL Server pour trier les données avant de le renvoyer pour la liaison à la grille de données. Lorsque l'utilisateur trie le dta dans la grille de données en cliquant sur un en-tête de colonne, je dois le détecter et déterminer le nouvel ordre avant de revenir à la base de données.Puis-je détecter une colonne DataGrid triée dans Silverlight?
Répondre
Je ne pense pas qu'il existe un moyen de demander à la grille de données sur quelle colonne elle est triée. Cependant en regardant http://blogs.msdn.com/scmorris/archive/2008/06/10/sorting-data-in-the-silverlight-datagrid.aspx je vois que vous pouvez implémenter votre propre tri lorsque vous implémentez ICollectionView sur vos articles.
Alors vous pourriez peut-être implémenter ICollectionView sur (un wrapper) vos résultats?
Datagrid le fait en interne si vous définissez ItemSource sur un IList, alors peut-être que vous pouvez jeter un oeil à son implémentation pour voir comment ils l'ont fait? (voir la classe interne Datagrids ListCollectionView utilisant le réflecteur)
Lorsque vous avez un ICollectionView, vous pouvez utiliser SortDescriptions pour connaître le tri actuel.
J'espère que cela vous aide dans la bonne direction?
Tjipke
Vous pouvez en utilisant un PagedCollectionView et en jetant la propriété SortDescriptions à un INotifyCollectionChanged
. Vous écoutez ensuite l'événement CollectionChanged
. Comme ceci:
var collectionView = new PagedCollectionView(items);
(collectionView.SortDescriptions as INotifyCollectionChanged).CollectionChanged += (object sender, NotifyCollectionChangedEventArgs e) =>
{
// This gets fired multiple times based on the previous sort and new sort
};
dataGrid.ItemsSource = collectionView;
- 1. Silverlight DataGrid Control - Comment arrêter le tri sur une colonne?
- 2. deux datagrid dans silverlight
- 3. plusieurs composants DataGrid dans une colonne
- 4. SilverLight Datagrid
- 5. Silverlight DataGrid Exception Réorganisation des en-têtes de colonne
- 6. Silverlight DataGrid Redraw Numéro
- 7. Silverlight datagrid défilement synchronisé
- 8. En-têtes DataGrid Silverlight 2
- 9. Style Silverlight DataGrid
- 10. ASP.NET Datagrid - masquer une ligne/colonne spécifique
- 11. Itère un DataGrid Silverlight
- 12. silverlight 3 Personnalisation de l'en-tête Datagrid
- 13. WPF DataGrid Colonne ComboBox: Propagating Header Combobox dans la colonne
- 14. Largeur de colonne d'un DataGrid dans une application Windows Mobile
- 15. Détecter Silverlight côté serveur
- 16. Commande de colonne DataGrid dans ActionScript
- 17. ITemplate et DataGrid Colonne Codebehind
- 18. Définir l'ordre de tri initial dans Silverlight DataGrid?
- 19. WPF DataGrid Bouton Colonne Désactiver
- 20. Flex DataGrid Largeur de colonne
- 21. Comment détecter les combos ALT dans Silverlight?
- 22. Mettre en évidence des lignes entières uniquement dans Silverlight DataGrid
- 23. Silverlight Update/Trigger IValueConverter dans ListBox DataTemplate dans un DataGrid
- 24. Définition dynamique du texte d'en-tête d'une colonne SilverGear DataGrid
- 25. Silverlight 3 Datagrid - Mettre temporairement en surbrillance une ligne
- 26. Silverlight DataGrid - Masquer une ligne tout en affichant ses RowDetails
- 27. SQLite3: programatically déterminer si une colonne est triée par ordre croissant ou décroissant
- 28. Silverlight DataGrid Actualiser entre fichiers Xaml
- 29. Largeur de colonne Flex 3 DataGrid Problème
- 30. silverlight 3 datagrid x: nom numéro