2010-08-13 11 views
1

Je devrais commencer par l'avertissement que je n'ai pas beaucoup d'informations sur ce problème, mais je voulais mettre une touche pour voir si quelqu'un d'autre avait ce problème. J'ai commencé un nouveau travail et certaines personnes utilisent ici Infragistics WPF DataGrid. La grille a été sélectionnée en raison de la flexibilité visuelle, mais apparemment, quand il y a de grandes quantités de lignes dans la grille, les choses commencent à mal fonctionner. Ceci est probablement dû à l'implémentation (pas sûr, pas encore dans le code) et ne devrait pas être considéré comme négatif sur le contrôle.Optimisation de l'infragistics wpf dataagrid

Est-ce que quelqu'un d'autre a rencontré et a des conseils que je pourrais transmettre aux développeurs? Merci d'avance. Edit *: Je pense que l'introduction de la pagination pourrait ne pas être une option. La grille est utilisée de telle sorte qu'elle affiche des données qui y sont diffusées. Donc, le cas d'utilisation est que l'utilisateur final surveille 50-100 lignes qui sont mises à jour avec de nouvelles valeurs intra-secondes (aka - pense tickers boursiers au lieu de feuilleter un ensemble de résultats)

+0

comment voulez-vous fournir les données à la grille de données? Utilisez-vous une PagedCollectionView? http://msdn.microsoft.com/en-us/library/system.windows.data.pagedcollectionview(VS.95).aspx – andreiursan

+0

Vous savez, je ne suis pas sûr. Mais je pense que la pagination pourrait ne pas être une solution acceptable. Je vais modifier la déclaration d'origine pour refléter cela. – j03m

Répondre

0

J'utilise le DataGrid Xceed, mais j'ai récemment découvert que notre DataGrid liait à une vue (DataGridCollectionView) et non à une source de données (DataView/DataTable).

Cela signifie que nous avons remplacé la vue entière pour chaque actualisation.

En liant à un DataTable, mon code actualise maintenant le DataGrid instantanément avec quelques milliers de lignes où il prend 1-2 secondes.

Comme la plupart des grilles sont similaires. Vérifiez s'il vous plaît comment votre code lie aux données qui vont dans votre DataGrid.

J'ai posté un code here dans le cas qui aide.

0

L'approche consiste à activer la virtualisation - cela garantit que seules les informations sur l'écran sont impliquées dans un repeint. Voir aucun problème avec 100 lignes mises à jour en permanence.

1

J'ai également des problèmes avec XamDataGrid. Bien que je n'ai pas la bonne version pour essayer cela, vous pouvez essayer de changer le style de hoverless haute performance, et la suppression des événements, comme décrit ici: http://blogs.infragistics.com/forums/p/48307/264160.aspx

Le reste des suggestions sont beaucoup plus précis et gérer des schémas et des cas d'utilisation particuliers.

est ici un peu plus d'une vue d'ensemble des optimisations Infragistics: http://help.infragistics.com/NetAdvantage/WPF/2010.3/CLR4.0/?page=xamData_Performance_Optimizations_Overview.html