Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. |
Traduction
Source
|
DataControlField, classe
Sert de classe de base pour tous les types de champs de contrôles de données, qui représentent une colonne de données dans les contrôles liés aux données sous forme de tableau comme DetailsView et GridView.
Assembly : System.Web (dans System.Web.dll)
Le type DataControlField expose les membres suivants.
| Nom | Description | |
|---|---|---|
|
DataControlField | Initialise une nouvelle instance de la classe DataControlField. |
| Nom | Description | |
|---|---|---|
|
AccessibleHeaderText | Obtient ou définit le texte restitué sous forme de valeur de propriété AbbreviatedText dans certains contrôles. |
|
Control | Obtient une référence au contrôle de données auquel l'objet DataControlField est associé. |
|
ControlStyle | Obtient le style de tout contrôle serveur Web contenu dans l'objet DataControlField. |
|
DesignMode | Obtient une valeur indiquant si un champ de contrôle de données est actuellement affiché dans un environnement au moment du design. |
|
FooterStyle | Obtient ou définit le style du pied de page du champ de contrôle de données. |
|
FooterText | Obtient ou définit le texte affiché dans l'élément de pied de page d'un champ de contrôle de données. |
|
HeaderImageUrl | Obtient ou définit l'URL d'une image affichée dans l'élément d'en-tête d'un champ de contrôle de données. |
|
HeaderStyle | Obtient ou définit le style de l'en-tête du champ de contrôle de données. |
|
HeaderText | Obtient ou définit le texte affiché dans l'élément d'en-tête d'un champ de contrôle de données. |
|
InsertVisible | Obtient une valeur indiquant si l'objet DataControlField est visible lorsque son contrôle lié aux données parent est en mode insertion. |
|
IsTrackingViewState | Obtient une valeur indiquant si l'objet DataControlField enregistre les modifications apportées à son état d'affichage. |
|
ItemStyle | Obtient le style de tout contenu de type texte affiché dans un champ de contrôle de données. |
|
ShowHeader | Obtient ou définit une valeur indiquant si l'élément d'en-tête d'un champ de contrôle de données est restitué. |
|
SortExpression | Obtient ou définit une expression de tri utilisée par un contrôle de source de données pour trier des données. |
|
ViewState | Obtient un dictionnaire d'informations d'état qui vous permet d'enregistrer et de restaurer l'état d'affichage d'un objet DataControlField entre plusieurs demandes de la même page. |
|
Visible | Obtient ou définit une valeur indiquant si un champ de contrôle de données est restitué. |
| Nom | Description | |
|---|---|---|
|
CloneField | Infrastructure. Crée une copie de l'objet dérivé de DataControlField en cours. |
|
CopyProperties | Copie les propriétés de l'objet dérivé de DataControlField actuel vers l'objet DataControlField spécifié. |
|
CreateField | En cas de substitution dans une classe dérivée, crée un objet dérivé de DataControlField vide. |
|
Equals(Object) | Détermine si l'Object spécifié est égal à l'Object en cours. (Hérité de Object.) |
|
ExtractValuesFromCell | Extrait la valeur du champ de contrôle de données à partir de la cellule active du tableau et ajoute la valeur à la collection IDictionary spécifiée. |
|
Finalize | Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de netto***ge avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.) |
|
GetHashCode | Sert de fonction de hachage pour un type particulier. (Hérité de Object.) |
|
GetType | Obtient le Type de l'instance actuelle. (Hérité de Object.) |
|
Initialize | Effectue l'initialisation d'instance de base pour un champ de contrôle de données. |
|
InitializeCell | Ajoute du texte ou des contrôles à la collection de contrôles d'une cellule. |
|
LoadViewState | Restaure l'état d'affichage enregistré précédemment pour la vue de source de données. |
|
MemberwiseClone | Crée une copie superficielle de l'objet Object actif. (Hérité de Object.) |
|
OnFieldChanged | Déclenche l'événement FieldChanged. |
|
SaveViewState | Enregistre les modifications apportées à l'état d'affichage DataControlField depuis la publication de la page sur le serveur. |
|
ToString | Retourne une chaîne qui représente cet objet DataControlField. (Substitue Object.ToString().) |
|
TrackViewState | Ainsi, l'objet DataControlField effectue le suivi des modifications de son état d'affichage afin qu'elles puissent être stockées dans la propriété ViewState du contrôle et être persistantes entre les demandes de la même page. |
|
ValidateSupportsCallback | En cas de substitution dans une classe dérivée, signale que les contrôles contenus dans un champ prennent en charge des rappels. |
| Nom | Description | |
|---|---|---|
|
IDataSourceViewSchemaAccessor.DataSourceViewSchema | Infrastructure. Obtient ou définit le schéma associé à cet objet DataControlField. |
|
IStateManager.IsTrackingViewState | Infrastructure. Obtient une valeur indiquant si l'objet DataControlField enregistre les modifications apportées à son état d'affichage. |
|
IStateManager.LoadViewState | Infrastructure. Restaure l'état d'affichage enregistré précédemment pour le champ de contrôle de données. |
|
IStateManager.SaveViewState | Infrastructure. Enregistre les modifications apportées à l'état d'affichage DataControlField depuis la publication de la page sur le serveur. |
|
IStateManager.TrackViewState | Infrastructure. Ainsi, l'objet DataControlField effectue le suivi des modifications de son état d'affichage afin qu'elles puissent être stockées dans la propriété ViewState du contrôle et être persistantes entre les demandes de la même page. |
La classe DataControlField sert de classe de base pour tous les types de champs de contrôles de données. Les champs de contrôle de données sont utilisés par les contrôles liés aux données pour représenter un champ de données, semblable à la façon dont un objet DataGridColumn représente un type de colonne dans le contrôle DataGrid.
Utilisez les classes dérivées de DataControlField pour l'affichage d'un champ de données dans un contrôle lié aux données tel que DetailsView ou GridView. Le tableau suivant répertorie les différents types de champs de contrôles de données fournis par ASP.NET.
|
Type de champ de colonne |
Description |
|---|---|
|
Affiche la valeur d'un champ dans une source de données sous la forme de texte. |
|
|
Affiche un bouton de commande dans un contrôle lié aux données. Vous pouvez ainsi afficher selon le contrôle une ligne ou une colonne avec un contrôle bouton personnalisé, tel qu'un bouton Ajouter ou Supprimer. |
|
|
Affiche une case à cocher dans un contrôle lié aux données. Ce type de champ de contrôle de données est couramment utilisé pour afficher les champs avec une valeur Boolean. |
|
|
Affiche des boutons de commande intégrés pour exécuter des opérations de modification, d'insertion ou de suppression dans un contrôle lié aux données. |
|
|
Affiche la valeur d'un champ dans une source de données sous la forme de lien hypertexte. Ce type de champ de contrôle de données vous permet de lier un deuxième champ à l'URL du lien hypertexte. |
|
|
Affiche une image dans un contrôle lié aux données. |
|
|
Affiche le contenu défini par l'utilisateur dans un contrôle lié aux données en fonction d'un modèle spécifié. |
Vous pouvez également étendre les classes DataControlField et BoundField pour créer vos propres types de champs de contrôles de données.
La classe DataControlField fournit plusieurs propriétés qui déterminent la présentation des éléments d'interface utilisateur dans le contrôle lié aux données. Tous les contrôles n'utilisent pas toutes les propriétés de champ de contrôle de données disponibles lors du rendu d'une interface utilisateur. Par exemple, le contrôle DetailsView qui affiche les champs de contrôle de données comme lignes inclut un élément d'en-tête pour chaque champ de contrôle de données, mais aucun élément de pied de page. Par conséquent, les propriétés FooterText et FooterStyle sont ignorées par le contrôle DetailsView. Toutefois, le contrôle GridView utilise les propriétés FooterText et FooterStyle si la propriété ShowFooter a la valeur true. De la même façon, les propriétés de champ de contrôle de données affectent la présentation d'éléments de l'interface utilisateur en fonction de l'élément. La propriété ItemStyle est toujours appliquée au champ. Si le type dérivé de DataControlField contient un contrôle, comme dans les classes ButtonField ou CheckBoxField, la propriété ControlStyle est appliquée au champ.
L'exemple de code suivant illustre l'utilisation des objets BoundField et ButtonField dérivés de DataControlField, pour afficher des lignes dans un contrôle DetailsView. La propriété AutoGenerateRows du contrôle DetailsView a la valeur false, ce qui lui permet d'afficher un sous-ensemble des données retournées par la propriété SelectCommand.
<%@ page language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>ASP.NET Example</title> </head> <body> <form id="form1" runat="server"> <asp:sqldatasource id="SqlDataSource1" runat="server" connectionstring="<%$ ConnectionStrings:MyNorthwind%>" selectcommand="Select * From Employees"> </asp:sqldatasource> <asp:detailsview id="DetailsView1" runat="server" allowpaging="True" datasourceid="SqlDataSource1" height="208px" width="264px" autogeneraterows="False"> <fields> <asp:boundfield sortexpression="LastName" datafield="LastName" headertext="LastName"> <itemstyle backcolor="Yellow"> </itemstyle> </asp:boundfield> <asp:boundfield sortexpression="FirstName" datafield="FirstName" headertext="FirstName"> <itemstyle forecolor="#C00000"> </itemstyle> </asp:boundfield> <asp:buttonfield text="TestButton" buttontype="Button"> </asp:buttonfield> </fields> </asp:detailsview> </form> </body> </html>
L'exemple de code suivant illustre l'extension de la classe BoundField pour créer un champ dépendant personnalisé qui peut être utilisé dans un contrôle GridView. De même que la classe CheckBoxField, la classe RadioButtonField représente une colonne de données true ou false. Toutefois, bien que les données auxquelles la classe CheckBoxField est liée puissent avoir la valeur true ou false, le groupe de données auquel la classe RadioButtonField est liée peut seulement avoir la valeur true à un moment donné. Cet exemple illustre l'implémentation des méthodes ExtractValuesFromCell et InitializeCell, deux méthodes importantes de toutes les classes dérivées de DataControlField.
namespace Samples.AspNet.CS { using System; using System.Collections; using System.Collections.Specialized; using System.ComponentModel; using System.Security.Permissions; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; [AspNetHostingPermission(SecurityAction.Demand, Level=AspNetHostingPermissionLevel.Minimal)] public sealed class RadioButtonField : CheckBoxField { public RadioButtonField() { } // Gets a default value for a basic design-time experience. // Since it would look odd, even at design time, to have // more than one radio button selected, make sure that none // are selected. protected override object GetDesignTimeValue() { return false; } // This method is called by the ExtractRowValues methods of // GridView and DetailsView. Retrieve the current value of the // cell from the Checked state of the Radio button. public override void ExtractValuesFromCell(IOrderedDictionary dictionary, DataControlFieldCell cell, DataControlRowState rowState, bool includeReadOnly) { // Determine whether the cell contains a RadioButton // in its Controls collection. if (cell.Controls.Count > 0) { RadioButton radio = cell.Controls[0] as RadioButton; object checkedValue = null; if (null == radio) { // A RadioButton is expected, but a null is encountered. // Add error handling. throw new InvalidOperationException ("RadioButtonField could not extract control."); } else { checkedValue = radio.Checked; } // Add the value of the Checked attribute of the // RadioButton to the dictionary. if (dictionary.Contains(DataField)) dictionary[DataField] = checkedValue; else dictionary.Add(DataField, checkedValue); } } // This method adds a RadioButton control and any other // content to the cell's Controls collection. protected override void InitializeDataCell (DataControlFieldCell cell, DataControlRowState rowState) { RadioButton radio = new RadioButton(); // If the RadioButton is bound to a DataField, add // the OnDataBindingField method event handler to the // DataBinding event. if (DataField.Length != 0) { radio.DataBinding += new EventHandler(this.OnDataBindField); } radio.Text = this.Text; // Because the RadioButtonField is a BoundField, it only // displays data. Therefore, unless the row is in edit mode, // the RadioButton is displayed as disabled. radio.Enabled = false; // If the row is in edit mode, enable the button. if ((rowState & DataControlRowState.Edit) != 0 || (rowState & DataControlRowState.Insert) != 0) { radio.Enabled = true; } cell.Controls.Add(radio); } } }
L'exemple de code suivant illustre l'utilisation de la classe RadioButtonField fournie dans l'exemple précédent dans un contrôle GridView. Dans cet exemple, le contrôle GridView affiche des données pour une équipe de sport. Les données sur les joueurs sont gérées dans une table de données qui inclut une colonne ID, colonnes prévues pour le nom des joueurs, et une colonne true ou false qui identifie le capitaine de l'équipe. La classe RadioButtonField est utilisée pour afficher quel membre de l'équipe est le capitaine actuel. Le contrôle GridView peut être modifié pour choisir un nouveau capitaine d'équipe ou pour modifier d'autres informations sur le joueur.
<%@ page language="C#" %> <%@ Register Tagprefix="aspSample" Namespace="Samples.AspNet.CS" Assembly="Samples.AspNet.CS" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>ASP.NET Example</title> </head> <body> <form id="form1" runat="server"> <asp:gridview id="GridView1" runat="server" allowpaging="True" datasourceid="SqlDataSource1" allowsorting="True" autogeneratecolumns="False" autogenerateeditbutton="True" datakeynames="AnID"> <columns> <aspSample:radiobuttonfield headertext="RadioButtonField" text="TeamLeader" datafield="TrueFalse"> </aspSample:radiobuttonfield> <asp:boundfield insertvisible="False" sortexpression="AnID" datafield="AnID" readonly="True" headertext="AnID"> </asp:boundfield> <asp:boundfield sortexpression="FirstName" datafield="FirstName" headertext="FirstName"> </asp:boundfield> <asp:boundfield sortexpression="LastName" datafield="LastName" headertext="LastName"> </asp:boundfield> </columns> </asp:gridview> <asp:sqldatasource id="SqlDataSource1" runat="server" connectionstring="<%$ ConnectionStrings:MyNorthwind%>" selectcommand="SELECT AnID,FirstName,LastName,TeamLeader FROM Players" updatecommand="UPDATE Players SET TrueFalse='false';UPDATE Players SET TrueFalse='true' WHERE AnID=@anID"> </asp:sqldatasource> </form> </body> </html>
Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows XP SP2 Édition x64, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2
Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.