2009-05-08 4 views
0

J'essaie de charger beaucoup de données dans un DataGrid qui, comme vous pouvez vous en douter, met beaucoup de temps à se charger. Cela est dû au fait que je charge des données d'un objet COM que j'ai enveloppé dans l'objet .NET avec un énumérateur personnalisé.Meilleure façon de charger de grandes quantités de données dans DataGrid

J'ai examiné le chargement virtuel de la grille de données et cela fonctionne, mais je me demandais s'il y avait une meilleure façon de faire la même chose. Qu'est-ce que je suis après est une grille de données qui montre une barre de défilement pour la quantité totale de données, mais ne charge que les données pour les premières 50 lignes, puis après le défilement, il charge les 50 prochaines ou plus.

Est-ce que quelqu'un sait si c'est possible, ou s'il y a un contrôle disponible qui le fait automatiquement?

+0

La pagination n'est pas une option? – Cerebrus

Répondre

2

Est-il possible de charger seulement une partie des données de l'objet COM? Si c'est le cas, chargez par exemple 100 lignes et enregistrez le rowcount. Ensuite, dans l'événement de défilement de la grille, utilisez la propriété FirstDisplayedScrollingRowIndex pour voir si vous obtenez près de 100, chargez un peu plus de lignes et incrémentez le rowcount.

Cela ne montre cependant pas une barre de défilement pour toutes les lignes chargeables.

Questions connexes