DetailsView.Fields Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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 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é false
sur . 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é.