AutoGeneratedField Class (System.Web.UI.WebControls)

Switch View :
ScriptFree
.NET Framework Class Library
AutoGeneratedField Class

Represents an automatically generated field in a data-bound control. This class cannot be inherited.

Inheritance Hierarchy

System.Object
  System.Web.UI.WebControls.DataControlField
    System.Web.UI.WebControls.BoundField
      System.Web.UI.WebControls.AutoGeneratedField

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

Visual Basic
Public NotInheritable Class AutoGeneratedField _
	Inherits BoundField
C#
public sealed class AutoGeneratedField : BoundField
Visual C++
public ref class AutoGeneratedField sealed : public BoundField
F#
[<Sealed>]
type AutoGeneratedField =  
    class
        inherit BoundField
    end

The AutoGeneratedField type exposes the following members.

Constructors

  Name Description
Public method AutoGeneratedField Initializes a new instance of the AutoGeneratedField class with the specified data field.
Top
Properties

  Name Description
Public property AccessibleHeaderText Gets or sets text that is rendered as the AbbreviatedText property value in some controls. (Inherited from DataControlField.)
Public property ApplyFormatInEditMode Gets or sets a value indicating whether the formatting string specified by the DataFormatString property is applied to field values when the data-bound control that contains the BoundField object is in edit mode. (Inherited from BoundField.)
Protected property Control Gets a reference to the data control that the DataControlField object is associated with. (Inherited from DataControlField.)
Public property ControlStyle Gets the style of any Web server controls contained by the DataControlField object. (Inherited from DataControlField.)
Public property ConvertEmptyStringToNull Gets or sets a value indicating whether empty string ("") values are converted to null when the field values are retrieved from the data source. (Overrides BoundField.ConvertEmptyStringToNull.)
Public property DataField Gets or sets the name of the data field to bind to the BoundField object. (Inherited from BoundField.)
Public property DataFormatString Gets or sets the string that specifies the format in which the alternate text for each image in an AutoGeneratedField object is rendered. (Overrides BoundField.DataFormatString.)
Public property DataType Gets or sets the data type of the values displayed in an AutoGeneratedField object.
Protected property DesignMode Gets a value indicating whether a data control field is currently viewed in a design-time environment. (Inherited from DataControlField.)
Public property FooterStyle Gets or sets the style of the footer of the data control field. (Inherited from DataControlField.)
Public property FooterText Gets or sets the text that is displayed in the footer item of a data control field. (Inherited from DataControlField.)
Public property HeaderImageUrl Gets or sets the URL of an image that is displayed in the header item of a data control field. (Inherited from DataControlField.)
Public property HeaderStyle Gets or sets the style of the header of the data control field. (Inherited from DataControlField.)
Public property HeaderText Gets or sets the text that is displayed in the header of a data control. (Inherited from BoundField.)
Public property HtmlEncode Gets or sets a value indicating whether field values are HTML-encoded before they are displayed in a BoundField object. (Inherited from BoundField.)
Public property HtmlEncodeFormatString Gets or sets a value that indicates whether text that is created by applying the DataFormatString property to the BoundField value should be HTML encoded when it is displayed. (Inherited from BoundField.)
Public property InsertVisible Gets or sets a value indicating whether the AutoGeneratedField object is visible in insert mode. (Overrides DataControlField.InsertVisible.)
Protected property IsTrackingViewState Gets a value indicating whether the DataControlField object is saving changes to its view state. (Inherited from DataControlField.)
Public property ItemStyle Gets the style of any text-based content displayed by a data control field. (Inherited from DataControlField.)
Public property NullDisplayText Gets or sets the caption displayed for a field when the field's value is null. (Inherited from BoundField.)
Public property ReadOnly Gets or sets a value indicating whether the value of the field can be modified in edit mode. (Inherited from BoundField.)
Public property ShowHeader Gets or sets a value indicating whether the header item of a data control field is rendered. (Inherited from DataControlField.)
Public property SortExpression Gets or sets a sort expression that is used by a data source control to sort data. (Inherited from DataControlField.)
Protected property SupportsHtmlEncode Gets a value indicating whether HTML encoding is supported by a BoundField object. (Inherited from BoundField.)
Protected property ViewState Gets a dictionary of state information that allows you to save and restore the view state of a DataControlField object across multiple requests for the same page. (Inherited from DataControlField.)
Public property Visible Gets or sets a value indicating whether a data control field is rendered. (Inherited from DataControlField.)
Top
Methods

  Name Description
Protected method CloneField Infrastructure. Creates a duplicate copy of the current DataControlField-derived object. (Inherited from DataControlField.)
Protected method CopyProperties Copies the properties of the current BoundField object to the specified DataControlField object. (Inherited from BoundField.)
Protected method CreateField Creates an empty BoundField object. (Inherited from BoundField.)
Public method Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Public method ExtractValuesFromCell Fills the specified IOrderedDictionary object with the values from the specified DataControlFieldCell object. (Overrides BoundField.ExtractValuesFromCell(IOrderedDictionary, DataControlFieldCell, DataControlRowState, Boolean).)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Protected method FormatDataValue Formats the specified field value for a cell in the BoundField object. (Inherited from BoundField.)
Protected method GetDesignTimeValue Retrieves the value used for a field's value when rendering the BoundField object in a designer. (Inherited from BoundField.)
Public method GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Protected method GetValue Retrieves the value of the field bound to the BoundField object. (Inherited from BoundField.)
Public method Initialize Initializes the BoundField object. (Inherited from BoundField.)
Public method InitializeCell Initializes the specified TableCell object to the specified row state. (Inherited from BoundField.)
Protected method InitializeDataCell Initializes the specified TableCell object to the specified row state. (Inherited from BoundField.)
Protected method LoadViewState Restores the previously stored view-state information for this field. (Inherited from BoundField.)
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Protected method OnDataBindField Binds the value of a field to the BoundField object. (Inherited from BoundField.)
Protected method OnFieldChanged Raises the FieldChanged event. (Inherited from DataControlField.)
Protected method SaveViewState Saves the changes made to the DataControlField view state since the time the page was posted back to the server. (Inherited from DataControlField.)
Public method ToString Returns a string that represents this DataControlField object. (Inherited from DataControlField.)
Protected method TrackViewState Causes the DataControlField 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. (Inherited from DataControlField.)
Public method ValidateSupportsCallback Determines whether the controls contained in an AutoGeneratedField object support callbacks. (Overrides BoundField.ValidateSupportsCallback().)
Top
Explicit Interface Implementations

  Name Description
Explicit interface implemetation Private property IDataSourceViewSchemaAccessor.DataSourceViewSchema Infrastructure. Gets or sets the schema associated with this DataControlField object. (Inherited from DataControlField.)
Explicit interface implemetation Private property IStateManager.IsTrackingViewState Infrastructure. Gets a value indicating whether the DataControlField object is saving changes to its view state. (Inherited from DataControlField.)
Explicit interface implemetation Private method IStateManager.LoadViewState Infrastructure. Restores the data control field's previously saved view state. (Inherited from DataControlField.)
Explicit interface implemetation Private method IStateManager.SaveViewState Infrastructure. Saves the changes made to the DataControlField view state since the time the page was posted back to the server. (Inherited from DataControlField.)
Explicit interface implemetation Private method IStateManager.TrackViewState Infrastructure. Causes the DataControlField 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. (Inherited from DataControlField.)
Top
Remarks

The AutoGeneratedField class is used to represent an automatically generated field in a data-bound control, such as GridView or DetailsView. Automatically generated fields are created by a data-bound control when the appropriate property is set to true (for example, the AutoGenerateColumns property for the GridView control, the AutoGenerateRows property for the DetailsView control, and so on).

Note Note

Automatically generated fields are not added to the field collection of a data-bound control (for example, the Columns collection for the GridView control, the Fields collection for the DetailsView control, and so on).

The AutoGeneratedField class is intended for use internally by data-bound controls. Unlike other data fields (such as BoundField, CheckBoxField, TemplateField, and so on), the AutoGeneratedField class cannot be placed declaratively on a page as part of a field collection. Although you can programmatically add an AutoGeneratedField object to a field collection, this design pattern should be avoided.

Because automatically generated fields represent the automatic rendering of a field, data-bound controls do not typically allow users to modify the properties of the AutoGeneratedField objects. If the automatic rendering is not suitable for your needs, define your own data fields for the field collection of the control.

Examples

The following example demonstrates how to create an AutoGeneratedField object for a custom control that derives from the DetailsView control.

Visual Basic


Imports System.ComponentModel
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Security.Permissions
Imports System.Web

Namespace Samples.AspNet.VB.Controls

    <AspNetHostingPermission(SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Minimal), AspNetHostingPermission(SecurityAction.InheritanceDemand, Level:=AspNetHostingPermissionLevel.Minimal)> Public Class SimpleCustomControl
        Inherits System.Web.UI.WebControls.DetailsView

        Protected Overrides Function CreateAutoGeneratedRow(ByVal fieldProperties As AutoGeneratedFieldProperties) As AutoGeneratedField

            ' Create an AutoGeneratedField object.
            Dim field As New AutoGeneratedField(fieldProperties.DataField)

            ' Set the properties of the AutoGeneratedField using
            ' the values from the AutoGeneratedFieldProperties 
            ' object contained in the fieldProperties parameter.
            CType(field, IStateManager).TrackViewState()
            field.HeaderText = fieldProperties.Name
            field.SortExpression = fieldProperties.Name
            field.ReadOnly = fieldProperties.IsReadOnly
            field.DataType = fieldProperties.Type

            Return field

        End Function

    End Class

End Namespace



C#


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Security.Permissions;
using System.Web;

namespace Samples.AspNet.CS.Controls
{

    [AspNetHostingPermission(SecurityAction.Demand, Level=AspNetHostingPermissionLevel.Minimal)]
    [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level=AspNetHostingPermissionLevel.Minimal)]
    public class SimpleCustomControl : DetailsView
    {

        protected override AutoGeneratedField CreateAutoGeneratedRow(AutoGeneratedFieldProperties fieldProperties) 
        {

            // Create an AutoGeneratedField object.
            AutoGeneratedField field = new AutoGeneratedField(fieldProperties.DataField);

            // Set the properties of the AutoGeneratedField using
            // the values from the AutoGeneratedFieldProperties 
            // object contained in the fieldProperties parameter.
            ((IStateManager)field).TrackViewState();
            field.HeaderText = fieldProperties.Name;
            field.SortExpression = fieldProperties.Name;
            field.ReadOnly = fieldProperties.IsReadOnly;
            field.DataType = fieldProperties.Type;

            return field;
        }

    }
}



Version Information

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0
Platforms

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Thread Safety

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

Reference