Comparteix a través de


DynamicField Clase

Definición

Representa un campo de datos que se muestra en un control enlazado a datos que usa las características de datos dinámicos de ASP.NET.

public ref class DynamicField : System::Web::UI::WebControls::DataControlField, System::Web::DynamicData::IFieldFormattingOptions, System::Web::UI::IAttributeAccessor
public class DynamicField : System.Web.UI.WebControls.DataControlField, System.Web.DynamicData.IFieldFormattingOptions, System.Web.UI.IAttributeAccessor
type DynamicField = class
    inherit DataControlField
    interface IAttributeAccessor
    interface IFieldFormattingOptions
Public Class DynamicField
Inherits DataControlField
Implements IAttributeAccessor, IFieldFormattingOptions
Herencia
DynamicField
Implementaciones

Ejemplos

Vea un ejemplo de código en tiempo de ejecución de esta característica: Ejecutar.

En el ejemplo siguiente se muestra cómo usar el DynamicField objeto en un GridView control para mostrar y editar valores de una tabla de base de datos.

<%@ 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">
  protected void Page_Init(object sender, EventArgs e)
  {
    DynamicDataManager1.RegisterControl(CustomersGridView);
  }
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <title>DynamicField Sample</title>
  <link href="~/Site.css" rel="stylesheet" type="text/css" />
</head>
<body>
  <form id="form1" runat="server">
    <div>
    
      <h2><%= CustomersDataSource.TableName%> Table</h2>
      
      <asp:DynamicDataManager ID="DynamicDataManager1" runat="server"
        AutoLoadForeignKeys="true" />
        
      <asp:ValidationSummary ID="ValidationSummary1" runat="server" EnableClientScript="true" 
        HeaderText="List of validation errors"  />
      <asp:DynamicValidator runat="server" ID="DynamicValidator1"
        ControlToValidate="CustomersGridView" Display="None" />
        
      <asp:GridView ID="CustomersGridView" runat="server"
        AutoGenerateColumns="false"
        AutoGenerateEditButton="true"
        AutoGenerateDeleteButton="true"
        DataSourceID="CustomersDataSource"
        AllowPaging="true"
        AllowSorting="true"
        CssClass="gridview">
        <Columns>
          <asp:DynamicField DataField="CustomerID" />
          <asp:DynamicField DataField="FirstName" />
          <asp:DynamicField DataField="LastName" />
        </Columns>        
      </asp:GridView>

      <!-- This example uses Microsoft SQL Server and connects   -->
      <!-- to the AdventureWorksLT sample database.              -->
      <asp:LinqDataSource ID="CustomersDataSource" runat="server" 
        TableName="Customers"
        ContextTypeName="AdventureWorksLTDataContext"
        EnableUpdate="true"
        EnableDelete="true" >
      </asp:LinqDataSource>
      
    </div>
  </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">
  
  Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs)    
    DynamicDataManager1.RegisterControl(CustomersGridView)
  End Sub
  
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
  <title>DynamicField Sample</title>
  <link href="~/Site.css" rel="stylesheet" type="text/css" />
</head>
<body>
  <form id="form1" runat="server">
    <div>
    
      <h2><%= CustomersDataSource.TableName%> Table</h2>
      
      <asp:DynamicDataManager ID="DynamicDataManager1" runat="server"
        AutoLoadForeignKeys="true" />
        
      <asp:ValidationSummary ID="ValidationSummary1" runat="server" EnableClientScript="true" 
        HeaderText="List of validation errors"  />
      <asp:DynamicValidator runat="server" ID="DynamicValidator1"
        ControlToValidate="CustomersGridView" Display="None" />
        
      <asp:GridView ID="CustomersGridView" runat="server"
        AutoGenerateColumns="false"
        AutoGenerateEditButton="true"
        AutoGenerateDeleteButton="true"
        DataSourceID="CustomersDataSource"
        AllowPaging="true"
        AllowSorting="true"
        CssClass="gridview">
        <Columns>
          <asp:DynamicField DataField="CustomerID" />
          <asp:DynamicField DataField="FirstName" />
          <asp:DynamicField DataField="LastName" />
        </Columns>        
      </asp:GridView>

      <!-- This example uses Microsoft SQL Server and connects   -->
      <!-- to the AdventureWorksLT sample database.              -->
      <asp:LinqDataSource ID="CustomersDataSource" runat="server" 
        TableName="Customers"
        ContextTypeName="AdventureWorksLTDataContext"
        EnableUpdate="true"
        EnableDelete="true" >
      </asp:LinqDataSource>
      
    </div>
  </form>
</body>
</html>

Comentarios

En este tema:

Introducción

Los controles enlazados a datos usan la DynamicField clase , como los GridView controles y DetailsView , para mostrar un valor de campo que usa ASP.NET características de datos dinámicos en páginas personalizadas.

La DynamicField clase proporciona funcionalidad similar a la de la BoundField clase . Sin embargo, dado que un DynamicField objeto se usa en aplicaciones de datos dinámicos, puede aprovechar las siguientes características de datos dinámicos:

  • Representar automáticamente el control adecuado para un campo mediante plantillas de campo, en función del tipo de datos. Las plantillas de campo se pueden modificar globalmente para toda la aplicación.

  • Proporcionar validación de datos integrada basada en el esquema de la base de datos. También puede agregar tipos de validación personalizando el modelo de datos.

  • Personalización de la representación de datos para campos individuales mediante el uso de atributos en el modelo de datos o mediante la UIHint propiedad .

El DynamicField objeto representa cada campo mediante un DynamicControl control . Para especificar el campo de datos que se va a mostrar en un DynamicField objeto, establezca la DataField propiedad en el nombre del campo. Puede aplicar una cadena de formato personalizada al valor de campo estableciendo la DataFormatString propiedad . De forma predeterminada, la cadena de formato se aplica a los valores de campo solo cuando el control enlazado a datos está en modo de solo lectura. Para aplicar la cadena de formato a los valores mostrados mientras el control enlazado a datos está en modo de edición, establezca la ApplyFormatInEditMode propiedad trueen . Si un valor de campo es null, puede mostrar un título personalizado estableciendo la NullDisplayText propiedad . El DynamicField objeto también puede convertir automáticamente valores de campo de cadena vacía ("") en valores NULL estableciendo la ConvertEmptyStringToNull propiedad trueen .

Sintaxis declarativa

<asp:DynamicField
    AccessibleHeaderText="string"
    ApplyFormatInEditMode="true|false"
    ControlStyle-BackColor="color name|#dddddd"
    ControlStyle-BorderColor="color name|#dddddd"
    ControlStyle-BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double|Groove|
       Ridge|Inset|Outset"
    ControlStyle-BorderWidth="size"
    ControlStyle-CssClass="string"
    ControlStyle-Font-Bold="true|false"
    ControlStyle-Font-Italic="true|false"
    ControlStyle-Font-Names="string"
    ControlStyle-Font-Overline="true|false"
    ControlStyle-Font-Size="string|Smaller|Larger|XX-Small|X-Small|Small|Medium|
       Large|X-Large|XX-Large"
    ControlStyle-Font-Strikeout="true|false"
    ControlStyle-Font-Underline="true|false"
    ControlStyle-ForeColor="color name|#dddddd"
    ControlStyle-Height="size"
    ControlStyle-Width="size"
    ConvertEmptyStringToNull="true|false"
    DataField="string"
    DataFormatString="string"
    FooterStyle-BackColor="color name|#dddddd"
    FooterStyle-BorderColor="color name|#dddddd"
    FooterStyle-BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double|Groove|
       Ridge|Inset|Outset"
    FooterStyle-BorderWidth="size"
    FooterStyle-CssClass="string"
    FooterStyle-Font-Bold="true|false"
    FooterStyle-Font-Italic="true|false"
    FooterStyle-Font-Names="string"
    FooterStyle-Font-Overline="true|false"
    FooterStyle-Font-Size="string|Smaller|Larger|XX-Small|X-Small|Small|Medium|
       Large|X-Large|XX-Large"
    FooterStyle-Font-Strikeout="true|false"
    FooterStyle-Font-Underline="true|false"
    FooterStyle-ForeColor="color name|#dddddd"
    FooterStyle-Height="size"
    FooterStyle-Width="size"
    FooterStyle-HorizontalAlign="Center|Justify|Left|NotSet|Right"
    FooterStyle-VerticalAlign="Bottom|Middle|NotSet|Top"
    FooterStyle-Wrap="true|false"
    HeaderImageUrl="uri"
    HeaderStyle-BackColor="color name|#dddddd"
    HeaderStyle-BorderColor="color name|#dddddd"
    HeaderStyle-BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double|Groove|
       Ridge|Inset|Outset"
    HeaderStyle-BorderWidth="size"
    HeaderStyle-CssClass="string"
    HeaderStyle-Font-Bold="true|false"
    HeaderStyle-Font-Italic="true|false"
    HeaderStyle-Font-Names="string"
    HeaderStyle-Font-Overline="true|false"
    HeaderStyle-Font-Size="string|Smaller|Larger|XX-Small|X-Small|Small|Medium|
       Large|X-Large|XX-Large"
    HeaderStyle-Font-Strikeout="true|false"
    HeaderStyle-Font-Underline="true|false"
    HeaderStyle-ForeColor="color name|#dddddd"
    HeaderStyle-Height="size"
    HeaderStyle-Width="size"
    HeaderStyle-HorizontalAlign="Center|Justify|Left|NotSet|Right"
    HeaderStyle-VerticalAlign="Bottom|Middle|NotSet|Top"
    HeaderStyle-Wrap="true|false"
    HeaderText="string"
    InsertVisible="true|false"
    ItemStyle-BackColor="color name|#dddddd"
    ItemStyle-BorderColor="color name|#dddddd"
    ItemStyle-BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double|Groove|
       Ridge|Inset|Outset"
    ItemStyle-BorderWidth="size"
    ItemStyle-CssClass="string"
    ItemStyle-Font-Bold="true|false"
    ItemStyle-Font-Italic="true|false"
    ItemStyle-Font-Names="string"
    ItemStyle-Font-Overline="true|false"
    ItemStyle-Font-Size="string|Smaller|Larger|XX-Small|X-Small|Small|Medium|
       Large|X-Large|XX-Large"
    ItemStyle-Font-Strikeout="true|false"
    ItemStyle-Font-Underline="true|false"
    ItemStyle-ForeColor="color name|#dddddd"
    ItemStyle-Height="size"
    ItemStyle-Width="size"
    ItemStyle-HorizontalAlign="Center|Justify|Left|NotSet|Right"
    ItemStyle-VerticalAlign="Bottom|Middle|NotSet|Top"
    ItemStyle-Wrap="true|false"
    NullDisplayText="string"
    ReadOnly="true|false"
    ShowHeader="true|false"
    SortExpression="string"
    UIHint="string"
    ValidationGroup="string"
    Visible="true|false"
    />
<asp:DynamicField />

Constructores

DynamicField()

Inicializa una nueva instancia de la clase DynamicField.

Propiedades

AccessibleHeaderText

Obtiene o establece el texto que se representa como el valor de la propiedad AbbreviatedText en algunos controles.

(Heredado de DataControlField)
ApplyFormatInEditMode

Obtiene o establece un valor que indica si la cadena con formato especificada por la propiedad DataFormatString se aplica al valor de campo cuando el campo de datos se encuentra en modo de edición.

Column

Obtiene el objeto MetaColumn al que está asociado este objeto DynamicField.

Control

Obtiene una referencia al control de datos al que está asociado el objeto DataControlField.

(Heredado de DataControlField)
ControlStyle

Obtiene el estilo de cualquier control de servidor web contenido en el objeto DataControlField.

(Heredado de DataControlField)
ConvertEmptyStringToNull

Obtiene o establece un valor que indica si los valores de cadena vacía ("") se convierten automáticamente en valores nulos cuando se actualiza el campo de datos en el origen de datos.

DataField

Obtiene o establece el nombre del campo de datos al que se enlaza el objeto DynamicField.

DataFormatString

Obtiene o establece la cadena que especifica el formato de presentación del valor del campo de datos.

DesignMode

Obtiene un valor que indica si un campo de control de datos está visible actualmente en un entorno en tiempo de diseño.

(Heredado de DataControlField)
FooterStyle

Obtiene o establece el estilo del pie de página del campo del control de datos.

(Heredado de DataControlField)
FooterText

Obtiene o establece el texto que se muestra en el elemento de pie de página de un campo de control de datos.

(Heredado de DataControlField)
HeaderImageUrl

Obtiene o establece la dirección URL de una imagen que se muestra en el elemento de encabezado de un campo de control de datos.

(Heredado de DataControlField)
HeaderStyle

Obtiene o establece el estilo del encabezado del campo del control de datos.

(Heredado de DataControlField)
HeaderText

Obtiene o establece el texto que se muestra en el encabezado del control enlazado a datos que contiene el objeto DynamicField.

HtmlEncode

Obtiene o establece un valor que indica si los valores de campo de datos se codifican en HTML antes de mostrarse en un objeto DynamicField.

InsertVisible

Obtiene un valor que indica si el objeto DataControlField está visible cuando su control enlazado a datos primario está en modo de inserción.

(Heredado de DataControlField)
IsTrackingViewState

Obtiene un valor que indica si el objeto DataControlField está guardando los cambios en su estado de vista.

(Heredado de DataControlField)
ItemStyle

Obtiene el estilo de cualquier contenido basado en texto mostrado por un campo de control de datos.

(Heredado de DataControlField)
NullDisplayText

Obtiene o establece el título que se muestra para un campo de datos cuando el valor del campo es null.

ReadOnly

Obtiene el estado de solo lectura del campo dinámico.

ShowHeader

Obtiene o establece un valor que indica si se representa el elemento de encabezado de un campo de control de datos.

(Heredado de DataControlField)
SortExpression

Obtiene o establece la expresión de ordenación que se usa cuando el campo de datos se usa como criterio para ordenar el origen de datos.

UIHint

Obtiene o establece la plantilla de campo que se va a usar para mostrar el campo de datos.

ValidateRequestMode

Obtiene o establece un valor que especifica si el control valida la entrada de cliente.

ValidateRequestMode

Obtiene o establece un valor que especifica si el control valida la entrada de cliente.

(Heredado de DataControlField)
ValidationGroup

Obtiene el objeto ValidationGroup al que está asociado este objeto DynamicField.

ViewState

Obtiene un diccionario con información de estado que permite guardar y restaurar el estado de vista de un objeto DataControlField en las distintas solicitudes de la misma página.

(Heredado de DataControlField)
Visible

Obtiene o establece un valor que indica si se representa un campo de control de datos.

(Heredado de DataControlField)

Métodos

CloneField()

Crea una copia duplicada del objeto actual derivado de DataControlField.

(Heredado de DataControlField)
ConfigureDynamicControl(DynamicControl)

Proporciona un mecanismo para modificar un objeto DynamicControl creado por el método InitializeCell(DataControlFieldCell, DataControlCellType, DataControlRowState, Int32).

CopyProperties(DataControlField)

Copia las propiedades del objeto DynamicField actual al objeto DataControlField especificado.

CreateDynamicControl()

Proporciona un mecanismo para que las clases que derivan de DynamicField reemplacen cómo se crea un objeto DynamicControl.

CreateField()

Crea y devuelve una nueva instancia de la clase DynamicField.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
ExtractValuesFromCell(IOrderedDictionary, DataControlFieldCell, DataControlRowState, Boolean)

Extrae el valor del campo de datos de la celda de tabla actual y agrega el valor al diccionario especificado.

GetAttribute(String)

Recupera el valor de atributo especificado.

GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
Initialize(Boolean, Control)

Realiza la inicialización de la instancia básica para un campo de control de datos.

(Heredado de DataControlField)
InitializeCell(DataControlFieldCell, DataControlCellType, DataControlRowState, Int32)

Agrega texto o controles a la celda especificada.

LoadViewState(Object)

Restaura la vista del origen de datos tal y como se guardó previamente.

(Heredado de DataControlField)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
OnFieldChanged()

Genera el evento FieldChanged.

(Heredado de DataControlField)
SaveViewState()

Guarda los cambios efectuados en el estado de vista de DataControlField desde el momento en que se devolvió la página al servidor.

(Heredado de DataControlField)
SetAttribute(String, String)

Establece un atributo asociado al objeto DynamicField.

ToString()

Devuelve una cadena que representa este objeto DataControlField.

(Heredado de DataControlField)
TrackViewState()

Hace que el objeto DataControlField lleve un seguimiento de los cambios de su estado de vista, de modo que puedan almacenarse en la propiedad ViewState del control y mantenerse en todas las solicitudes de la misma página.

(Heredado de DataControlField)
ValidateSupportsCallback()

Cuando se reemplaza en una clase derivada, indica que los controles contenidos en un campo admiten la devolución de llamada.

(Heredado de DataControlField)

Implementaciones de interfaz explícitas

IDataSourceViewSchemaAccessor.DataSourceViewSchema

Obtiene o establece el esquema asociado a este objeto DataControlField.

(Heredado de DataControlField)
IStateManager.IsTrackingViewState

Obtiene un valor que indica si el objeto DataControlField está guardando los cambios en su estado de vista.

(Heredado de DataControlField)
IStateManager.LoadViewState(Object)

Restaura el estado de vista que se guardó previamente del campo de control de datos.

(Heredado de DataControlField)
IStateManager.SaveViewState()

Guarda los cambios efectuados en el estado de vista de DataControlField desde el momento en que se devolvió la página al servidor.

(Heredado de DataControlField)
IStateManager.TrackViewState()

Hace que el objeto DataControlField lleve un seguimiento de los cambios de su estado de vista, de modo que puedan almacenarse en la propiedad ViewState del control y mantenerse en todas las solicitudes de la misma página.

(Heredado de DataControlField)

Métodos de extensión

ConvertEditedValue(IFieldFormattingOptions, String)

Devuelve el valor proporcionado por el usuario para un control que se está validando.

FormatEditValue(IFieldFormattingOptions, Object)

Da formato al valor de campo especificado con las opciones de formato especificadas.

FormatValue(IFieldFormattingOptions, Object)

Da formato al valor de campo especificado con las opciones de formato especificadas.

Se aplica a

Consulte también