2010-06-03 6 views
0

J'utilise le DataGrid de WPF Toolkit pour afficher un ensemble de résultats de recherche. Comme à ce moment scenario in my other question je veux être en mesure de pré-extraire les résultats secondaires pour chacune de mes lignes visibles (c'est-à-dire, dans la zone de défilement visible) dans la grille de données.WPF Toolkit DataGrid - Recherche uniquement les lignes visibles/actuellement visibles

Je veux être en mesure de:

  • requête "visibles" lignes
  • déclencher un événement lorsque des lignes deviennent visibles (via le défilement vertical)

REMARQUE: Possible duplicate? [Mais sans réponse/résultat validé] - Quelqu'un at-il des liens/exemples de code pour y parvenir?

+0

Un article de blog (http://blogs.msdn.com/b/llobo/archive/2007/01/18/elements-visibility-inside-scrollviewer.aspx) aide à déterminer si une ligne est à l'intérieur du ScrollView (par exemple de DataGridRowsPresenter), mais je ne suis pas sûr comment le rassembler de sorte qu'une collection observable de "lignes affichables" soit suivie ... – Reddog

Répondre

0

Je l'ai examiné précédemment et n'ai pas trouvé de solution. Vous parlez de la virtualisation des données, alors que je n'ai pas trouvé un moyen de le faire avec le DataGrid de wpf, il est facilement disponible avec la version xceed grid pro (intégrée), here est une autre solution sur laquelle vous pouvez construire, en utilisant leur implémentation vous permet de construire un modèle qui sait quelles lignes ont été chargées/demandées et fonctionnent à partir de là.

+0

L'idée a montré définitivement le potentiel, par lequel j'ai utilisé le AsyncVirtualizingCollection avec mon propre IItemsProvider simplement enveloppé la collection complète qui était déjà chargée. Cependant, quand le DataGrid en a fait usage une exception du plus profond dans les profondeurs de l'implémentation de la grille parce que l'élément de données est nul au début ... – Reddog

+0

Il semble que ça fonctionnera merveilleusement avec le ListView si ... – Reddog

+0

Pour l'amour d'autrui ici (http://bea.stollnitz.com/blog/?p=378) est une extension de la solution liée ci-dessus! – Reddog

Questions connexes