Partager via


Comparaison des contrôles serveur Web GridView et DataGrid

Mise à jour : novembre 2007

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

Les contrôles DataGrid et GridView sont tous deux dérivés de la classe WebControl. Bien que son modèle d'objet soit semblable à celui du contrôle DataGrid, le contrôle GridView comporte également plusieurs nouvelles fonctionnalités et présente les avantages suivants sur le contrôle DataGrid :

  • Fonctions au moment du design plus riches.

  • Fonctions de liaison de la source de données améliorées.

  • Gestion automatique du tri, de la pagination, des mises à jour et des suppressions.

  • Types et opérations de colonne supplémentaires au moment du design.

  • Interface utilisateur de pagineur personnalisée avec la propriété PagerTemplate.

Différences entre le contrôle GridView et le contrôle DataGrid :

  • Prise en charge différente de la pagination personnalisée.

  • Modèles d'événement différents.

Fonctions au moment du design améliorées

Le tri, la mise en page et l'édition sur place de données exige une programmation supplémentaire lors de l'utilisation du contrôle DataGrid. Le contrôle GridView vous permet d'ajouter des fonctions de tri, de mise en page et d'édition sans écrire de code. À la place, vous pouvez automatiser ces tâches, avec d'autres tâches courantes telles que liaison de données à une source de données, en définissant des propriétés sur le contrôle.

Si vous travaillez dans un concepteur, tel que Microsoft Visual Studio, vous pouvez tirer parti des fonctionnalités de conception intégrées au contrôle GridView. Le contrôle GridView inclut la prise en charge d'un panneau des balises actives qui fournit une interface commode pour exécuter des tâches courantes, telles que la définition de propriétés et le lancement de l'édition de modèles.

Fonctions améliorées de liaison de source de données

En général, un contrôle DataSet, un contrôle DbDataReader ou une collection, tel qu'un Array, un ArrayList ou toute autre classe de l'espace de noms System.Collections, est affecté à la propriété DataSource du contrôle DataGrid ou GridView. Les contrôles DataGrid et GridView peuvent lier tout objet qui implémente l'interface IEnumerable ou IListSource.

Bien que le contrôle DataGrid puisse lier un contrôle DataSourceControl de façon déclarative, il ne peut le faire que pour la sélection de données. Le tri, la mise en page, les mises à jour et les suppressions doivent être codés manuellement. Le contrôle GridView prend en charge une propriété DataSourceID qui prend tout objet implémentant l'interface IDataSource et peut, par conséquent, tirer parti des fonctions de tri, de mise en page, de mise à jour et de suppression du contrôle de source de données, par exemple le contrôle SqlDataSource.

Types de colonnes supplémentaires

Le contrôle GridView prend en charge les types de colonnes suivants : BoundField, HyperLinkField, ButtonField, CommandFieldImageField et CheckBoxField.

Prise en charge intégrée et personnalisée de la pagination

Le contrôle DataGrid requiert une programmation supplémentaire pour la pagination. Le contrôle GridView prend en charge automatiquement la pagination en définissant la propriété PagerSettings. La propriété PagerSettings prend en charge quatre modes : Numeric(valeur par défaut), NextPrevious, NumericFirstLast et NextPreviousFirstLast. Le mode Numeric affiche des liens de page numérotés au lieu de liens de type "suivant/précédent", et l'option NumericFirstLast ajoute des liens vers la première et la dernière page. La propriété PagerStyle du contrôle GridView peut être utilisée pour définir des styles et la position du pagineur.

En outre, vous pouvez personnaliser les boutons du pagineur pour le contrôle GridView à l'aide d'un PagerTemplate.

La prise en charge personnalisée de la pagination dans le GridView est fournie par le contrôle de source de données lié par opposition au mécanisme AllowCustomPaging fourni par le contrôle DataGrid.

Modèle d'événement développé

Les contrôles DataGrid et GridView ont des modèles d'événement différents.

Le contrôle DataGrid déclenche des événements uniques pour les opérations, tandis que le contrôle GridView permet de déclencher des événements à la fois avant et après les opérations. Le contrôle GridView prend en charge l'événement Sorting qui se produit lorsqu'un champ est trié. Notez que cet événement de tri se produit avant que le contrôle GridView gère automatiquement l'opération de tri, vous donnant ainsi la possibilité d'examiner ou de modifier la propriété SortExpression ou d'annuler cette opération en affectant la valeur true à la propriété Cancel sur les arguments d'événement passés.

Le contrôle GridView prend en charge l'événement Sorted qui se produit une fois que le contrôle GridView a terminé l'opération de tri, en vous donnant la possibilité de modifier ou de mettre en forme le résultat de l'opération de tri. En comparaison, le contrôle DataGrid prend en charge l'événement SortCommand qui se produit lorsqu'une colonne est triée. De la même façon, le contrôle GridView prend en charge les événements RowUpdating et RowUpdated qui se produisent avant et après que le contrôle GridView a géré automatiquement l'opération de mise à jour. En comparaison, le contrôle DataGrid prend en charge l'événement UpdateCommand qui se produit lorsqu'un clic est effectué sur le bouton Mettre à jour pour un élément de la grille.

Pour plus d'informations sur les événements GridView, consultez Événements du contrôle serveur Web GridView :

Voir aussi

Concepts

Pagination dans un contrôle serveur Web GridView

Modification des données dans un contrôle serveur Web GridView

Procédure pas à pas : tri simple pour le contrôle serveur Web GridView