La façon la plus simple de définir les colonnes du GridView consiste à utiliser un BoundField pour chaque champ à afficher. Le BoundField génère un Label dont la valeur correspond aux données lues dans la BD. Et lorsqu'une ligne du GridView passe en mode édition, le Label se transforme automatiquement en TextBox.
Nous aurons parfois besoin de plus de contrôle sur l'affichage des données, que ce soit en mode affichage ou en mode édition. À ce moment, on laissera tomber le BoundField pour un TemplateField, qui est beacoup plus flexible.
Voici quelques figures de cas :
- Si on voulait ajouter un lien dans une cellule, le TemplateField serait notre allié.
- On pourrait également utiliser le TemplateField pour afficher une image de crochet ou de X selon la valeur d'un champ booléen.
- En mode édition, on pourrait avoir besoin d'un validateur qui accompagne le TextBox afin d'assurer qu'une valeur ne soit pas nulle ou qu'un nombre contienne une valeur numérique.
- Si on reprend l'exemple du champ booléen, le TemplateField nous permettrait de remplacer l'image par un CheckBox lorsqu'on passe en mode édition.
- Dernier exemple : lorsqu'on affiche la valeur d'une clé étrangère, il serait intéressant d'obtenir un DropDownList lorsqu'on passe en mode édition.
(suite…)