Cette documentation est archivée et n’est pas conservée.

TemplateField, classe

Remarque : cette classe est nouvelle dans le .NET Framework version 2.0.

Représente un champ qui affiche le contenu personnalisé dans un contrôle lié aux données.

Espace de noms : System.Web.UI.WebControls
Assembly : System.Web (dans system.web.dll)

public class TemplateField : DataControlField
public class TemplateField extends DataControlField
public class TemplateField extends DataControlField

La classe TemplateField est utilisée par les contrôles liés aux données (tels que GridView et DetailsView) pour afficher le contenu personnalisé pour chaque enregistrement affiché. Lorsque vous devez afficher le contenu dans un contrôle lié aux données qui n'est pas fourni par l'un des champs de contrôle de données prédéfinis (tels que BoundField), utilisez la classe TemplateField pour créer votre interface utilisateur personnalisée. L'affichage de l'objet TemplateField varie en fonction du contrôle lié aux données dans lequel il est utilisé. Par exemple, le contrôle GridView affiche un objet TemplateField sous forme de une colonne et le contrôle DetailsView l'affiche sous forme de ligne.

Vous pouvez définir un modèle personnalisé pour les différentes parties de l'objet TemplateField à l'aide des modèles répertoriés dans le tableau suivant.

Modèle

Description

AlternatingItemTemplate

Spécifie le contenu à afficher pour les éléments alternés dans un objet TemplateField.

EditItemTemplate

Spécifie le contenu à afficher pour un élément en mode édition dans un objet TemplateField.

FooterTemplate

Spécifie le contenu à afficher pour la section de pied de page d'un objet TemplateField.

HeaderTemplate

Spécifie le contenu à afficher pour la section de l'en-tête d'un objet TemplateField.

InsertItemTemplate

Spécifie le contenu à afficher pour un élément en mode insertion dans un objet TemplateField. Ce modèle est pris en charge uniquement par le contrôle DetailsView.

ItemTemplate

Spécifie le contenu à afficher pour les éléments d'un objet TemplateField.

Vous pouvez masquer un objet TemplateField dans un contrôle lié aux données en affectant false à la propriété Visible.

En guise d'alternative à la définition d'un HeaderTemplate personnalisé ou d'un modèle FooterTemplate, vous pouvez personnaliser les sections d'en-tête et de pied de page d'un objet TemplateField en définissant d'autres propriétés de l'objet TemplateField. Pour afficher une légende dans les sections d'en-tête ou de pied de page, définissez la propriété HeaderText ou FooterText, respectivement. Au lieu d'afficher du texte dans la section d'en-tête, vous pouvez afficher une image en définissant la propriété HeaderImageUrl. La section d'en-tête peut être masquée dans l'objet TemplateField en affectant false à la propriété ShowHeader.

RemarqueRemarque

Certains contrôles liés aux données (tels que le contrôle GridView) peuvent uniquement afficher ou masquer l'intégralité de la section d'en-tête du contrôle. Ces contrôles liés aux données ne prennent pas en charge la propriété ShowHeader pour un champ lié. Pour afficher ou masquer l'intégralité de la section d'en-tête d'un contrôle lié aux données, utilisez la propriété ShowHeader du contrôle (le cas échéant).

Vous pouvez également personnaliser l'apparence de l'objet TemplateField (couleur de police, couleur d'arrière-plan, etc.) en définissant les propriétés de style des différentes parties du champ. Le tableau suivant énumère les différentes propriétés de style.

Propriété du style

Description

ControlStyle

Paramètres de style pour les contrôles serveur Web enfants de l'objet TemplateField.

FooterStyle

Paramètres de style de la section de pied de page de l'objet TemplateField.

HeaderStyle

Paramètres de style de la section d'en-tête de l'objet TemplateField.

ItemStyle

Paramètres de style des éléments de données dans l'objet TemplateField.

L'exemple de code suivant illustre comment créer un objet TemplateField personnalisé qui affiche deux champs dans la même cellule. Les champs de nom et de prénom sont combinés dans le même objet TemplateField.


<%@ Page language="C#" %>

<html>
  <body>
    <form runat="server">
        
      <h3>TemplateField Example</h3>

      <!-- Populate the Columns collection declaratively. -->
      <!-- Create a custom TemplateField column that uses      -->
      <!-- two Label controls to display an author's first and -->
      <!-- last name in the same column.                       -->
      <asp:gridview id="AuthorsGridView" 
        datasourceid="AuthorsSqlDataSource" 
        autogeneratecolumns="False"
        runat="server">
                
        <columns>
                
          <asp:templatefield headertext="Author Name">
            <itemtemplate>
              <asp:label id="FirstNameLabel"
                Text= '<%# Eval("au_fname") %>'
                runat="server"/> 
              <asp:label id="LastNameLabel"
                Text= '<%# Eval("au_lname") %>'
                runat="server"/>
            </itemtemplate>
          </asp:templatefield>
                
        </columns>
                
      </asp:gridview>
            
      <!-- This example uses Microsoft SQL Server and connects -->
      <!-- to the Pubs sample database.                        -->
      <asp:sqldatasource id="AuthorsSqlDataSource"  
        selectcommand="SELECT [au_lname], [au_fname], [address], [city], [state], [zip], [contract] FROM [authors]"
        connectionstring="server=localhost;database=pubs;integrated security=SSPI"
        runat="server">
      </asp:sqldatasource>
            
    </form>
  </body>
</html>


  • AspNetHostingPermission  pour utiliser un objet TemplateField dans un environnement hébergé. Valeur d'énumération associée : AspNetHostingPermissionLevel.Minimal.

System.Object
   System.Web.UI.WebControls.DataControlField
    System.Web.UI.WebControls.TemplateField

Les membres statiques publics (Shared en Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0
Afficher: