WPF DataGrid Vs DataGridView Windows Forms
J'ai de l'expérience dans WPF et Windows Forms, mais ont seulement utilisé le DataGridView Windows Forms et pas le WPF DataGrid (qui a été inclus dans .Net 4 ou pourrait être ajoutée .Net 3.5 sur Codeplex, je le comprends). Je suis sur le point de développer une application en utilisant l'un de ces contrôles fortement pour de grandes quantités de données et les performances de lecture est un problème avec le WPF DataGrid donc je peut coller à la DataGridView Windows Forms.. Est-ce le cas?
Je ne veux pas utiliser un 3ème contrôle du parti.
Ne le DataGridView Windows Forms offre significative de la performance au cours de la WPF grille de données pour de grandes quantités de données?
Si je devais utiliser WPF, je préfère utiliser .Net 3.5 S SP1, à moins que la grille de données dans l' .Net 4 est nettement mieux?
Aussi je veux utiliser ADO avec DataTable qui me semble le mieux adapté à Windows Forms..
OriginalL'auteur markmnl | 2011-01-06
Vous devez vous connecter pour publier un commentaire.
Pour vos besoins, sauf si vous avez d'autres exigences que vous diriger vers WPF, je vous recommande les WinForms DataGridView.
WPF DataGrid a été mis à disposition via le site Codeplex, comme un "out of band" de libération, c'est à dire ces sommes de contrôle qui finiront par faire leur chemin dans les APIs WPF, mais sont publiés sur le site codeplex tôt afin que nous puissions en profiter avant la prochaine grande .NET version. Vous pouvez utiliser l' .NET 4.0 ou codeplex DataGrid. Autant que je sache, ils sont une seule et même chose. Le WPF DataGrid joue très bien avec les tables de données. Voir les exemples dans mon article suivant:
http://www.codeproject.com/KB/WPF/WPFDataGridExamples.aspx
Cependant, le framework WPF et les effets visuels sont légèrement plus lourds que les WinForms. Aussi, les WinForms DataGridView est très mature.
Pour de très grands ensembles de données, les WinForms DataGridView a une fonctionnalité qui n'est pas présent dans le WPF DataGrid, ce qui est essentiel pour de très grands réseaux (en millions de lignes), c'est un mode virtuel:
http://msdn.microsoft.com/en-us/library/ms171622.aspx
Connu également sous forme de Données, la Virtualisation. Dans ce mode, vous dites à la grille de combien de lignes il y a dans vos données, puis de gérer les événements pour remplir les cellules. Cette écailles très bien. J'ai utilisé ce pour massifs et complexes grilles.
WPF dispose d'une INTERFACE utilisateur virtualisation qui est une forme de contrôle d'INTERFACE utilisateur de recyclage, mais pas de virtualisation de données.
Espère que ça aide.
Je me dois d'ajouter: depuis, j'ai utilisé le WPF grille de données pour le big data .Net 4.0 et c'était OK, c'est plus lent mais qui a des choses telles que le chargement paresseux seule interrogation des données si vous faites défiler vers elle - aussi, si vous avez une chaîne hi-spec machine, il aide!
OriginalL'auteur ColinE
Pour tout les débutants (comme moi) de prendre cette décision, WindowsForms est extrêmement facile à utiliser. Bien sûr, il ya beaucoup d'autres raisons d'utiliser WPF qui pourraient influencer votre décision, mais si votre projet est d'abord une grille de données, puis WinForms est le chemin à parcourir.
OriginalL'auteur David
Vous pouvez utiliser un contrôle DataGrid WPF comme un DataGridView si vous en premier remplissage ItemsSource de la grille de données .
OriginalL'auteur Alex Fatkin
Vérifier Xceed datagrid pour WPF qui est bien mieux que de WPF DataGrid mais c'est 3rdparty mais en vaut la peine.
OriginalL'auteur abmv
WPF grille de données beaucoup plus rapide, je pense. Mais lorsque j'essaie d'utiliser WPF grille de données pour une grande quantité de données (un grand nombre de colonnes (environ 40-50) et des lignes) avec des styles de travail lent (défilement horizontal). Grille de données à partir de la 3e partie des contrôles fonctionne beaucoup mieux (j'utilise Infragistics XamDataGrid).
OriginalL'auteur Dmitriy