Assembly: System.Web (in System.Web.dll)
Thetype exposes the following members.
|AccessibleHeaderText||Gets or sets text that is rendered as the AbbreviatedText property value in some controls.|
|Control||Gets a reference to the data control that the object is associated with.|
|ControlStyle||Gets the style of any Web server controls contained by the object.|
|DesignMode||Gets a value indicating whether a data control field is currently viewed in a design-time environment.|
|FooterStyle||Gets or sets the style of the footer of the data control field.|
|FooterText||Gets or sets the text that is displayed in the footer item of a data control field.|
|HeaderImageUrl||Gets or sets the URL of an image that is displayed in the header item of a data control field.|
|HeaderStyle||Gets or sets the style of the header of the data control field.|
|HeaderText||Gets or sets the text that is displayed in the header item of a data control field.|
|InsertVisible||Gets a value indicating whether the object is visible when its parent data-bound control is in insert mode.|
|IsTrackingViewState||Gets a value indicating whether the object is saving changes to its view state.|
|ItemStyle||Gets the style of any text-based content displayed by a data control field.|
|ShowHeader||Gets or sets a value indicating whether the header item of a data control field is rendered.|
|SortExpression||Gets or sets a sort expression that is used by a data source control to sort data.|
|ViewState||Gets a dictionary of state information that allows you to save and restore the view state of a object across multiple requests for the same page.|
|Visible||Gets or sets a value indicating whether a data control field is rendered.|
|CloneField||Infrastructure. Creates a duplicate copy of the current -derived object.|
|CopyProperties||Copies the properties of the current -derived object to the specified object.|
|CreateField||When overridden in a derived class, creates an empty -derived object.|
|Equals(Object)||Determines whether the specified Object is equal to the current Object. (Inherited from Object.)|
|ExtractValuesFromCell||Extracts the value of the data control field from the current table cell and adds the value to the specified IDictionary collection.|
|Finalize||Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)|
|GetHashCode||Serves as a hash function for a particular type. (Inherited from Object.)|
|GetType||Gets the Type of the current instance. (Inherited from Object.)|
|Initialize||Performs basic instance initialization for a data control field.|
|InitializeCell||Adds text or controls to a cell's controls collection.|
|LoadViewState||Restores the data source view's previously saved view state.|
|MemberwiseClone||Creates a shallow copy of the current Object. (Inherited from Object.)|
|OnFieldChanged||Raises the FieldChanged event.|
|SaveViewState||Saves the changes made to the view state since the time the page was posted back to the server.|
|ToString||Returns a string that represents this object. (Overrides Object.ToString.)|
|TrackViewState||Causes the object to track changes to its view state so they can be stored in the control's ViewState property and persisted across requests for the same page.|
|ValidateSupportsCallback||When overridden in a derived class, signals that the controls contained by a field support callbacks.|
|IDataSourceViewSchemaAccessor.DataSourceViewSchema||Infrastructure. Gets or sets the schema associated with this object.|
|IStateManager.IsTrackingViewState||Infrastructure. Gets a value indicating whether the object is saving changes to its view state.|
|IStateManager.LoadViewState||Infrastructure. Restores the data control field's previously saved view state.|
|IStateManager.SaveViewState||Infrastructure. Saves the changes made to the view state since the time the page was posted back to the server.|
|IStateManager.TrackViewState||Infrastructure. Causes the object to track changes to its view state so they can be stored in the control's ViewState property and persisted across requests for the same page.|
The class serves as the base class for all data control field types. Data control fields are used by data-bound controls to represent a field of data, similar to how a DataGridColumn object represents a type of column in the DataGrid control.
Use the classes that are derived from to control how a field of data is displayed in a data-bound control such as DetailsView or GridView. The following table lists the different data control field types provided by ASP.NET.
Column field type
Displays the value of a field in a data source as text.
Displays a command button in a data-bound control. Depending on the control, this allows you to display either a row or a column with a custom button control, such as an Add or a Remove button.
Displays a check box in a data-bound control. This data control field type is commonly used to display fields with a Boolean value.
Displays built-in command buttons to perform edit, insert, or delete operations in a data-bound control.
Displays the value of a field in a data source as a hyperlink. This data control field type allows you to bind a second field to the hyperlink's URL.
Displays an image in a data-bound control.
Displays user-defined content in a data-bound control according to a specified template.
You can also extend the and BoundField classes to create your own data control field types.
The class provides many properties that determine how user interface (UI) elements are presented in the data-bound control. Not every control uses every available data control field property when rendering a UI. For example, the DetailsView control, which displays the data control fields as rows, includes a header item for each data control field, but no footer item. Therefore, the FooterText and FooterStyle properties are ignored by the DetailsView control. The GridView control, however, uses the FooterText and FooterStyle properties if the ShowFooter property is set to true. Similarly, the data control field properties affect the presentation of UI elements depending on what the element is. The ItemStyle property is always applied to the field. If the type derived from contains a control, as in the ButtonField or CheckBoxField classes, the ControlStyle property is applied to the field.
The following code example demonstrates how to use BoundField and ButtonField objects, which are derived from , to display rows in a DetailsView control. The DetailsView control has the AutoGenerateRows property set to false, which enables it to display a subset of the data returned by the SelectCommand property.
<%@ page language="VB" %> <!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>
The following code example demonstrates how to extend the BoundField class to create a custom bound field that can be used in a GridView control. Similar to the CheckBoxField class, the RadioButtonField class represents a column of true or false data. However, although the data that the CheckBoxField class is bound to can be any set of true or false values, the set of data that the RadioButtonField class is bound to can have only one true value at any given time. This example demonstrates how to implement the ExtractValuesFromCell and InitializeCell methods, two important methods of all classes derived from .
Imports System Imports System.Collections.Specialized Imports System.Collections Imports System.ComponentModel Imports System.Security.Permissions Imports System.Web Imports System.Web.UI Imports System.Web.UI.WebControls Namespace Samples.AspNet.VB <AspNetHostingPermission(SecurityAction.Demand, _ Level:=AspNetHostingPermissionLevel.Minimal)> _ Public NotInheritable Class RadioButtonField Inherits CheckBoxField Public Sub New() End Sub 'New ' 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 Overrides Function GetDesignTimeValue() As Object Return False End Function ' 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 Overrides Sub ExtractValuesFromCell( _ ByVal dictionary As IOrderedDictionary, _ ByVal cell As DataControlFieldCell, _ ByVal rowState As DataControlRowState, _ ByVal includeReadOnly As Boolean) ' Determine whether the cell contain a RadioButton ' in its Controls collection. If cell.Controls.Count > 0 Then Dim radio As RadioButton = CType(cell.Controls(0), RadioButton) Dim checkedValue As Object = Nothing If radio Is Nothing Then ' A RadioButton is expected, but a null is encountered. ' Add error handling. Throw New InvalidOperationException( _ "RadioButtonField could not extract control.") Else checkedValue = radio.Checked End If ' Add the value of the Checked attribute of the ' RadioButton to the dictionary. If dictionary.Contains(DataField) Then dictionary(DataField) = checkedValue Else dictionary.Add(DataField, checkedValue) End If End If End Sub ' This method adds a RadioButton control and any other ' content to the cell's Controls collection. Protected Overrides Sub InitializeDataCell( _ ByVal cell As DataControlFieldCell, _ ByVal rowState As DataControlRowState) Dim radio As New RadioButton() ' If the RadioButton is bound to a DataField, add ' the OnDataBindingField method event handler to the ' DataBinding event. If DataField.Length <> 0 Then AddHandler radio.DataBinding, AddressOf Me.OnDataBindField End If radio.Text = Me.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 And DataControlRowState.Edit) <> 0 _ OrElse (rowState And DataControlRowState.Insert) <> 0 Then radio.Enabled = True End If cell.Controls.Add(radio) End Sub End Class End Namespace
The following code example demonstrates how to use the RadioButtonField class, which is provided in the previous example, in a GridView control. In this example, the GridView control displays data for a sports team. The player data is maintained in a data table that includes an ID column, columns for the player names, and a true or false column that identifies the captain of the team. The RadioButtonField class is used to display which team member is the current team captain. The GridView control can be edited to choose a new team captain or to change other player information.
<%@ page language="VB" %> <%@ Register Tagprefix="aspSample" Namespace="Samples.AspNet.VB" Assembly="Samples.AspNet.VB" %> <!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>