This documentation is archived and is not being maintained.

DataControlFieldCell Class

Represents a cell in the rendered table of a tabular ASP.NET data-bound control, such as DetailsView or GridView.

Namespace:  System.Web.UI.WebControls
Assembly:  System.Web (in System.Web.dll)

[AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
public class DataControlFieldCell : TableCell
<asp:DataControlFieldCell />

The DataControlFieldCell class is a strongly typed TableCell class that represents a cell in ASP.NET data-bound controls that render their contents in a tabular layout, such as GridView and DetailsView.

The DataControlField object that contains the DataControlFieldCell object controls how the cell is rendered by applying styles to the cell. You can access the containing DataControlField object using the ContainingField property.

The following code example demonstrates how a DataControlFieldCell object can be used and manipulated by a class that derives from DataControlField. The RadioButtonField class adds a RadioButton control to each DataControlFieldCell object in its InitializeCell method, and later checks the value of the RadioButton control in the ExtractValuesFromCell method. This example is part of a larger example provided for the DataControlField class.

// 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;
      dictionary.Add(DataField, checkedValue);

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0