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.Gets a collection of DataControlField objects that represent the explicitly declared row fields in a DetailsView control.

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.A DataControlFieldCollection that contains all explicitly declared row fields in the DetailsView control.

Attributs

Exemples

L’exemple de code suivant montre comment ajouter de façon déclarative des champs de ligne à la Fields collection d’un DetailsView contrôle.The following code example demonstrates how to declaratively add row fields to the Fields collection of a DetailsView control.


<%@ 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).When you explicitly declare the row fields for a DetailsView control, these row fields are stored in the Fields property (collection). La Fields collection vous permet également de gérer par programmation la collection de lignes déclarées explicitement.The Fields collection also allows you to programmatically manage the collection of explicitly declared rows.

Notes

Les champs de ligne déclarés explicitement peuvent être utilisés en combinaison avec les champs de ligne générés automatiquement.Explicitly declared row fields can be used in combination with automatically generated row fields. Quand les deux sont utilisés, les champs de ligne déclarés explicitement sont restitués en premier, suivis des champs de ligne générés automatiquement.When both are used, explicitly declared row fields are rendered first, followed by the automatically generated row fields. Les champs de ligne générés automatiquement ne sont pas ajoutés à la Fields collection.Automatically generated row fields are not added to the Fields collection.

Les différents types de champ de ligne déterminent le comportement des lignes dans le contrôle.Different row field types determine the behavior of the rows in the control. Le tableau suivant montre les différents types de champ de ligne qui peuvent être utilisés dans la Fields collection.The following table shows the different row field types that can be used in the Fields collection.

Type de champ de ligneRow field type DescriptionDescription
BoundField Affiche la valeur d’un champ dans une source de données sous forme de texte.Displays the value of a field in a data source as text.
ButtonField Affiche un bouton de commande dans le DetailsView contrôle.Displays a command button in the DetailsView control. Cela vous permet d’afficher une ligne avec un contrôle bouton personnalisé, tel qu’un bouton Ajouter ou supprimer.This allows you to display a row with a custom button control, such as an Add or a Remove button.
CheckBoxField Affiche une case à cocher dans le DetailsView contrôle.Displays a check box in the DetailsView control. Ce type de champ de ligne est couramment utilisé pour afficher des champs avec une valeur booléenne.This row field type is commonly used to display fields with a Boolean value.
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.Displays built-in command buttons to perform edit, insert, or delete operations in the DetailsView control.
HyperLinkField Affiche la valeur d’un champ dans une source de données sous la forme d’un lien hypertexte.Displays the value of a field in a data source as a hyperlink. Ce type de champ de ligne vous permet de lier un deuxième champ à l’URL du lien hypertexte.This row field type allows you to bind a second field to the hyperlink's URL.
ImageField Affiche une image dans le DetailsView contrôle.Displays an image in the DetailsView control.
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é.Displays user-defined content for a row in the DetailsView control according to a specified template. Ce type de champ de ligne vous permet de créer un champ de ligne personnalisé.This row field type allows you to create a custom row field.

Pour déclarer explicitement les champs de ligne d’un DetailsView contrôle, affectez d’abord la valeur AutoGenerateRows à la propriété false .To explicitly declare the row fields for a DetailsView control, first set the AutoGenerateRows property to false. Ensuite, ajoutez les <Fields> balises d’ouverture et de fermeture entre les balises d’ouverture et de fermeture du DetailsView contrôle.Next, add opening and closing <Fields> tags between the opening and closing tags of the DetailsView control. Enfin, répertoriez les champs de ligne que vous souhaitez inclure entre les balises d’ouverture et de fermeture <Fields> .Finally, list the row fields that you want to include between the opening and closing <Fields> tags. Les champs de ligne sont affichés dans le DetailsView contrôle dans l’ordre dans lequel les champs de ligne s’affichent dans la Fields collection.The row fields are displayed in the DetailsView control in the order that the row fields appear in the Fields collection.

Bien que vous puissiez ajouter des champs de ligne à la Fields collection par programmation, il est plus facile de répertorier les champs de ligne de manière déclarative dans le contrôle, puis DetailsView d’utiliser la Visible propriété de chaque champ de ligne pour afficher ou masquer le champ de ligne.Although you can programmatically add row fields to the Fields collection, it is easier to list the row fields declaratively in the DetailsView control and then use the Visible property of each row field to show or hide the row field.

Si la Visible propriété d’un champ de ligne a la valeur false , la ligne n’est pas affichée dans le DetailsView contrôle et les données de la ligne n’effectuent pas d’aller-retour vers le client.If the Visible property of a row field is set to false, the row is not displayed in the DetailsView control and the data for the row does not make a round trip to the client. Si vous souhaitez que les données d’une ligne qui ne sont pas visibles pour effectuer un aller-retour, ajoutez le nom de champ à la DataKeyNames propriété.If you want the data for a row that is not visible to make a round trip, add the field name to the DataKeyNames property.

S’applique à

Voir aussi