DetailsView.Fields Propriété

Définition

Obtient une collection d'objets DataControlField qui représentent les champs de ligne déclarés explicitement dans un contrôle DetailsView.

public:
 virtual property System::Web::UI::WebControls::DataControlFieldCollection ^ Fields { System::Web::UI::WebControls::DataControlFieldCollection ^ get(); };
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
public virtual System.Web.UI.WebControls.DataControlFieldCollection Fields { get; }
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
member this.Fields : System.Web.UI.WebControls.DataControlFieldCollection
Public Overridable ReadOnly Property Fields As DataControlFieldCollection

Valeur de propriété

DataControlFieldCollection

DataControlFieldCollection qui contient tous les champs de ligne déclarés explicitement dans le contrôle DetailsView.

Attributs

Exemples

L’exemple de code suivant montre comment ajouter de manière déclarative des champs de ligne à la Fields collection d’un DetailsView contrôle.


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

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>DetailsView Fields Example</title>
</head>
<body>
    <form id="Form1" runat="server">
        
      <h3>DetailsView Fields Example</h3>
                
        <asp:detailsview id="CustomerDetailView"
          datasourceid="DetailsViewSource"
          datakeynames="CustomerID"
          AutoGenerateRows="false"
          allowpaging="true"
          runat="server">
               
        <Fields>
         <asp:BoundField 
           DataField="CompanyName" 
           HeaderText="Company Name"/>
         <asp:BoundField 
           DataField="City" 
           HeaderText="City"/>
        </Fields>
                    
        </asp:detailsview>
        
        <!-- This example uses Microsoft SQL Server and connects  -->
        <!-- to the Northwind sample database. Use an ASP.NET     -->
        <!-- expression to retrieve the connection string value   -->
        <!-- from the web.config file.                            -->
        <asp:SqlDataSource ID="DetailsViewSource" runat="server" 
          ConnectionString=
            "<%$ ConnectionStrings:NorthWindConnectionString%>"
          InsertCommand="INSERT INTO [Customers]([CustomerID],
            [CompanyName], [Address], [City], [PostalCode], [Country]) 
            VALUES (@CustomerID, @CompanyName, @Address, @City, 
            @PostalCode, @Country)"

          SelectCommand="Select [CustomerID], [CompanyName], 
            [Address], [City], [PostalCode], [Country] From 
            [Customers]">
        </asp:SqlDataSource>
    </form>
  </body>
</html>

<%@ Page language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>DetailsView Fields Example</title>
</head>
<body>
    <form id="Form1" runat="server">
        
      <h3>DetailsView Fields Example</h3>
                
        <asp:detailsview id="CustomerDetailView"
          datasourceid="DetailsViewSource"
          datakeynames="CustomerID"
          AutoGenerateRows="false"
          allowpaging="true"
          runat="server">
               
        <Fields>
         <asp:BoundField 
           DataField="CompanyName" 
           HeaderText="Company Name"/>
         <asp:BoundField 
           DataField="City" 
           HeaderText="City"/>
        </Fields>
                    
        </asp:detailsview>
        
        <!-- This example uses Microsoft SQL Server and connects  -->
        <!-- to the Northwind sample database. Use an ASP.NET     -->
        <!-- expression to retrieve the connection string value   -->
        <!-- from the web.config file.                            -->
        <asp:SqlDataSource ID="DetailsViewSource" runat="server" 
          ConnectionString=
            "<%$ ConnectionStrings:NorthWindConnectionString%>"
          InsertCommand="INSERT INTO [Customers]([CustomerID],
            [CompanyName], [Address], [City], [PostalCode], [Country]) 
            VALUES (@CustomerID, @CompanyName, @Address, @City, 
            @PostalCode, @Country)"

          SelectCommand="Select [CustomerID], [CompanyName], 
            [Address], [City], [PostalCode], [Country] From 
            [Customers]">
        </asp:SqlDataSource>
    </form>
  </body>
</html>

Remarques

Lorsque vous déclarez explicitement les champs de ligne d’un DetailsView contrôle, ces champs de ligne sont stockés dans la Fields propriété (collection). La Fields collection vous permet également de gérer par programmation la collection de lignes déclarées explicitement.

Notes

Les champs de ligne déclarés explicitement peuvent être utilisés en combinaison avec des champs de ligne générés automatiquement. Lorsque les deux sont utilisés, les champs de ligne déclarés explicitement sont affichés en premier, suivis des champs de ligne générés automatiquement. Les champs de ligne générés automatiquement ne sont pas ajoutés à la Fields collection.

Différents types de champs de ligne déterminent le comportement des lignes dans le contrôle. Le tableau suivant montre les différents types de champs de ligne qui peuvent être utilisés dans la Fields collection.

Type de champ de ligne Description
BoundField Affiche la valeur d’un champ dans une source de données sous forme de texte.
ButtonField Affiche un bouton de commande dans le DetailsView contrôle. Cela vous permet d’afficher une ligne avec un contrôle bouton personnalisé, tel qu’un bouton Ajouter ou Supprimer.
CheckBoxField Affiche une case à cocher dans le DetailsView contrôle. Ce type de champ de ligne est couramment utilisé pour afficher des champs avec une valeur booléenne.
CommandField Affiche des boutons de commande intégrés pour effectuer des opérations de modification, d’insertion ou de suppression dans le DetailsView contrôle.
HyperLinkField Affiche la valeur d’un champ dans une source de données sous forme de lien hypertexte. Ce type de champ de ligne vous permet de lier un deuxième champ à l’URL du lien hypertexte.
ImageField Affiche une image dans le DetailsView contrôle.
TemplateField Affiche le contenu défini par l’utilisateur pour une ligne dans le DetailsView contrôle en fonction d’un modèle spécifié. Ce type de champ de ligne vous permet de créer un champ de ligne personnalisé.

Pour déclarer explicitement les champs de ligne d’un DetailsView contrôle, définissez d’abord la AutoGenerateRows propriété falsesur . Ensuite, ajoutez des balises d’ouverture et de fermeture <Fields> entre les balises d’ouverture et de fermeture du DetailsView contrôle. Enfin, répertoriez les champs de ligne que vous souhaitez inclure entre les balises d’ouverture et de fermeture <Fields> . Les champs de ligne sont affichés dans le DetailsView contrôle dans l’ordre dans lequel les champs de ligne apparaissent dans la Fields collection.

Bien que vous puissiez ajouter par programmation des champs de ligne à la Fields collection, il est plus facile de répertorier les champs de ligne de manière déclarative dans le DetailsView contrôle, puis d’utiliser la Visible propriété de chaque champ de ligne pour afficher ou masquer le champ de ligne.

Si la Visible propriété d’un champ de ligne est définie sur false, la ligne n’est pas affichée dans le DetailsView contrôle et les données de la ligne ne font pas d’aller-retour au client. Si vous souhaitez que les données d’une ligne qui ne soit pas visible pour effectuer un aller-retour, ajoutez le nom du champ à la DataKeyNames propriété.

S’applique à

Voir aussi