Question

Je fais du développement ASP.NET depuis un petit moment maintenant et j'ai déjà utilisé les contrôles GridView et DataGrid pour diverses choses, mais je n'ai jamais trouvé de très bonne raison d'utiliser l'un ou l'autre.J'aimerais savoir:

Quelle est la différence entre ces 2 contrôles ASP.NET ?Quels sont les avantages ou les inconvénients des deux ?Est-ce qu'on est plus rapide ?Plus récent ?Plus facile à entretenir ?

Le résumé Intellisense des contrôles ne semble décrire aucune différence entre les deux.Ils peuvent tous deux afficher, modifier et trier les données et générer automatiquement des colonnes au moment de l'exécution.

Modifier: Visual Studio 2008 ne répertorie plus DataGrid comme contrôle disponible dans la boîte à outils.Il est toujours disponible (pour le support existant, je suppose) si vous le saisissez à la main.

Était-ce utile?

La solution

DataGrid était un contrôle ASP.NET 1.1, toujours pris en charge.GridView est arrivé dans la version 2.0, a simplifié certaines tâches et a ajouté différentes fonctionnalités de liaison de données :

Ce lien contient une comparaison des fonctionnalités DataGrid et GridView -

https://msdn.microsoft.com/en-us/library/05yye6k9(v=vs.100).aspx

Autres conseils

Le GridView le contrôle est le successeur du DataGrid contrôle.Comme le DataGrid contrôle, le GridView Le contrôle a été conçu pour afficher des données dans un tableau HTML.Lorsqu'il est lié à une source de données, le DataGrid et GridView les commandes affichent chacune une ligne d'un DataSource sous forme de ligne dans une table de sortie.

Les deux DataGrid et GridView les contrôles sont dérivés du WebControl classe.Bien qu'il ait un modèle objet similaire à celui du DataGrid contrôle, le contrôle GridView présente également un certain nombre de nouvelles fonctionnalités et avantages par rapport au DataGrid contrôle, qui comprennent :

  • Des capacités de conception plus riches.
  • Capacités améliorées de liaison de source de données.
  • Gestion automatique du tri, de la pagination, des mises à jour et des suppressions.
  • Types de colonnes supplémentaires et opérations sur les colonnes au moment de la conception.
  • Une interface utilisateur (UI) de pager personnalisée avec la propriété PagerTemplate.

Les différences entre les GridView le contrôle et le DataGrid le contrôle comprend :

  • Différentes prises en charge de pagination personnalisée.
  • Différents modèles d'événements.

Le tri, la pagination et l'édition sur place des données nécessitent un codage supplémentaire lors de l'utilisation du DataGrid contrôle.Le GridView Le contrôle vous permet d’ajouter des fonctionnalités de tri, de pagination et d’édition sans écrire de code.Au lieu de cela, vous pouvez automatiser ces tâches, ainsi que d'autres tâches courantes telles que la liaison de données à une source de données, en définissant des propriétés sur le contrôle.

Le DataGrid était à l’origine dans .NET 1.0.Le GridView a été introduit (et a remplacé le DataGrid) dans .NET 2.0.Ils offrent des fonctionnalités presque identiques.

Si vous travaillez dans Visual Studio 2008 / .NET 3.5, vous ne devriez probablement pas l'utiliser non plus.Utilisez le ListView - il vous offre les fonctionnalités du GridView combinées à la flexibilité de style d'un répéteur.

La principale différence réside dans la gestion IIRC de ViewState.Le DataGrid nécessite que ViewState soit activé pour pouvoir disposer de fonctionnalités d'édition et de tri.

Une différence clé en termes de sécurité est que DataGrid utilise BoundColumn qui ne code pas HtmlEncode les données liées.Il n'existe aucune propriété permettant d'activer ou de désactiver HtmlEncoding, vous devez donc le faire dans le code d'une manière ou d'une autre.

GridView utilise BoundField, qui effectue HtmlEncode par défaut sur les données liées et possède une propriété HtmlEncode si vous devez la désactiver.

Grille de données

  1. DataGrid a été introduit avec Asp.Net 1.0.
  2. Pour le tri, nous devons gérer SortCommand event et la grille re-requise requise et pour la pagination, nous devons gérer le PageIndexChanged eventet grille de reliure requise.
  3. Besoin d'écrire du code pour implémenter les opérations de mise à jour et de suppression.
  4. Ne prend pas en charge les fonctionnalités de formatage ou de style automatique.
  5. Les performances sont rapides par rapport à GridView.

Vue Grille

  1. GridView a été introduit avec Asp.Net 2.0.
  2. Supports intégrés pour Paging and Sorting.
  3. Supports intégrés pour Update and Delete operations.
  4. Prend en charge les fonctionnalités de formatage ou de style automatique.
  5. Les performances sont lentes par rapport à DataGrid.

Le events et properties comme Item a changé comme Row.

Par exemple,

  • ItemCommand - RowCommand

  • ItemDataBound - RowDataBound

  • e.Item.ItemType - e.Row.RowType

quelques différences fondamentales entre la vue en grille et la vue détaillée

le contrôle GridView présente également un certain nombre de nouvelles fonctionnalités et avantages par rapport au contrôle DataGrid, notamment :

· Capacités de conception plus riches.· Capacités améliorées de liaison de source de données.· Gestion automatique du tri, de la pagination, des mises à jour et des suppressions.· Types de colonnes supplémentaires et opérations sur les colonnes au moment de la conception.· Une interface utilisateur (UI) de pager personnalisée avec la propriété PagerTemplate.

Les différences entre le contrôle GridView et le contrôle DataGrid incluent :· Différents supports de pagination personnalisée.· Différents modèles d'événements.

L'une des différences réside dans la sortie HTML.Une grille de données affichera les TD pour l'en-tête et une vue en grille affichera les TH.Cela peut provoquer des changements peu intuitifs dans l'affichage.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top