Partilhar via


DynamicField Classe

Definição

Representa um campo de dados que é exibido em um controle associado de dados que usa recursos de dados dinâmicos do 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
Herança
DynamicField
Implementações

Exemplos

Veja um exemplo de código em tempo de execução deste recurso: Executar.

O exemplo a seguir demonstra como usar o DynamicField objeto em um GridView controle para exibir e editar valores de uma tabela de banco de dados.

<%@ 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>

Comentários

Neste tópico:

Introdução

A DynamicField classe é usada por controles associados a dados, como controles GridView e DetailsView controles, para exibir um valor de campo que usa ASP.NET recursos de Dados Dinâmicos em páginas personalizadas.

A DynamicField classe fornece funcionalidade semelhante à da BoundField classe. No entanto, como um DynamicField objeto é usado em aplicativos de Dados Dinâmicos, você pode aproveitar os seguintes recursos de Dados Dinâmicos:

  • Renderizando automaticamente o controle adequado para um campo usando modelos de campo, com base no tipo de dados. Os modelos de campo podem ser modificados globalmente para todo o aplicativo.

  • Fornecendo validação de dados interna com base no esquema de banco de dados. Você também pode adicionar tipos de validação personalizando o modelo de dados.

  • Personalizando a renderização de dados para campos individuais usando atributos no modelo de dados ou usando a UIHint propriedade.

O DynamicField objeto renderiza cada campo usando um DynamicControl controle. Para especificar o campo de dados a ser exibido em um DynamicField objeto, defina a DataField propriedade como o nome do campo. Você pode aplicar uma cadeia de caracteres de formatação personalizada ao valor do campo definindo a DataFormatString propriedade. Por padrão, a cadeia de caracteres de formatação é aplicada a valores de campo somente quando o controle associado a dados está no modo somente leitura. Para aplicar a cadeia de caracteres de formatação a valores exibidos enquanto o controle associado a dados estiver no modo de edição, defina a ApplyFormatInEditMode propriedade como true. Se um valor de campo for null, você poderá exibir uma legenda personalizada definindo a NullDisplayText propriedade. O DynamicField objeto também pode converter automaticamente valores de campo de cadeia de caracteres vazias ("") em valores nulos definindo a ConvertEmptyStringToNull propriedade como true.

Sintaxe 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 />

Construtores

DynamicField()

Inicializa uma nova instância da classe DynamicField.

Propriedades

AccessibleHeaderText

Obtém ou define o texto que é renderizado como o valor da propriedade AbbreviatedText em alguns controles.

(Herdado de DataControlField)
ApplyFormatInEditMode

Obtém ou define um valor que indica se a cadeia de caracteres formatada especificada pela propriedade DataFormatString é aplicada ao valor do campo quando o campo de dados está no modo de edição.

Column

Obtém o objeto MetaColumn ao qual esse objeto DynamicField está associado.

Control

Obtém uma referência ao controle de dados ao qual o objeto DataControlField está associado.

(Herdado de DataControlField)
ControlStyle

Obtém o estilo de qualquer controle do servidor Web contido pelo objeto DataControlField.

(Herdado de DataControlField)
ConvertEmptyStringToNull

Obtém ou define um valor que indica se os valores de cadeia de caracteres vazia ("") são convertidos automaticamente em valores nulos quando o campo de dados é atualizado na fonte de dados.

DataField

Obtém ou define o nome do campo de dados ao qual associar o objeto DynamicField.

DataFormatString

Obtém ou define a cadeia de caracteres que especifica o formato de exibição do valor do campo de dados.

DesignMode

Obtém um valor que indica se um campo de controle de dados é atualmente exibido em um ambiente de tempo de design.

(Herdado de DataControlField)
FooterStyle

Obtém ou define o estilo do rodapé do campo de controle de dados.

(Herdado de DataControlField)
FooterText

Obtém ou define o texto exibido no item de rodapé de um campo de controle de dados.

(Herdado de DataControlField)
HeaderImageUrl

Obtém ou define a URL de uma imagem exibida no item de cabeçalho de um campo de controle de dados.

(Herdado de DataControlField)
HeaderStyle

Obtém ou define o estilo do cabeçalho do campo de controle de dados.

(Herdado de DataControlField)
HeaderText

Obtém ou define o texto que é exibido no cabeçalho do controle associado a dados que contém o objeto DynamicField.

HtmlEncode

Obtém ou define um valor que indica se os valores de campo de dados são codificados em HTML antes que eles sejam exibidos em um objeto DynamicField.

InsertVisible

Obtém um valor que indica se o objeto DataControlField fica visível quando o controle associado a dados pai está no modo de inserção.

(Herdado de DataControlField)
IsTrackingViewState

Obtém um valor que indica se o objeto DataControlField está salvando alterações no estado de exibição.

(Herdado de DataControlField)
ItemStyle

Obtém o estilo de qualquer conteúdo baseado em texto exibido por um campo de controle de dados.

(Herdado de DataControlField)
NullDisplayText

Obtém ou define a legenda exibida para um campo de dados quando o valor de campo é null.

ReadOnly

Obtém o estado somente leitura do campo dinâmico.

ShowHeader

Obtém ou define um valor que indica se o item de cabeçalho de um campo de controle de dados é renderizado.

(Herdado de DataControlField)
SortExpression

Obtém ou define a expressão de classificação que é usada quando o campo de dados é usado para classificar a fonte de dados.

UIHint

Obtém ou define o modelo de campo a ser usado para exibir o campo de dados.

ValidateRequestMode

Obtém ou define um valor que especifica se o controle valida a entrada do cliente.

ValidateRequestMode

Obtém ou define um valor que especifica se o controle valida a entrada do cliente.

(Herdado de DataControlField)
ValidationGroup

Obtém o objeto ValidationGroup ao qual esse objeto DynamicField está associado.

ViewState

Obtém um dicionário de informações de estado que permite salvar e restaurar o estado de exibição de um objeto DataControlField em várias solicitações da mesma página.

(Herdado de DataControlField)
Visible

Obtém ou define um valor que indica se um campo de controle de dados é renderizado.

(Herdado de DataControlField)

Métodos

CloneField()

Cria uma cópia duplicada do objeto atual derivado de DataControlField.

(Herdado de DataControlField)
ConfigureDynamicControl(DynamicControl)

Fornece um mecanismo para modificar um objeto DynamicControl que foi criado pelo método InitializeCell(DataControlFieldCell, DataControlCellType, DataControlRowState, Int32).

CopyProperties(DataControlField)

Copia as propriedades do objeto DynamicField atual para o objeto DataControlField especificado.

CreateDynamicControl()

Fornece um mecanismo para classes que derivam de DynamicField para substituir como um objeto DynamicControl é criado.

CreateField()

Cria e retorna uma nova instância da classe DynamicField.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

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

Extrai o valor do campo de dados da célula da tabela a seguir e adiciona o valor ao dicionário especificado.

GetAttribute(String)

Recupera o valor do atributo especificado.

GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
Initialize(Boolean, Control)

Executa a inicialização de instância básica para um campo de controle de dados.

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

Adiciona texto ou controles à célula especificada.

LoadViewState(Object)

Restaura o estado de exibição salvo anteriormente da exibição de fonte de dados.

(Herdado de DataControlField)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
OnFieldChanged()

Aciona o evento FieldChanged.

(Herdado de DataControlField)
SaveViewState()

Salva as alterações feitas no estado de exibição DataControlField desde a hora em que a página foi postada de volta no servidor.

(Herdado de DataControlField)
SetAttribute(String, String)

Define um atributo associado ao objeto DynamicField.

ToString()

Retorna uma cadeia de caracteres que representa este objeto DataControlField.

(Herdado de DataControlField)
TrackViewState()

Faz com que o objeto DataControlField controle as alterações em seu estado de exibição, de modo que elas possam ser armazenadas na propriedade ViewState do controle e persistidas entre solicitações para a mesma página.

(Herdado de DataControlField)
ValidateSupportsCallback()

Quando substituído em uma classe derivada, sinaliza que os controles contidos por um campo dão suporte a retornos de chamada.

(Herdado de DataControlField)

Implantações explícitas de interface

IDataSourceViewSchemaAccessor.DataSourceViewSchema

Obtém ou define o esquema associado a este objeto DataControlField.

(Herdado de DataControlField)
IStateManager.IsTrackingViewState

Obtém um valor que indica se o objeto DataControlField está salvando alterações no estado de exibição.

(Herdado de DataControlField)
IStateManager.LoadViewState(Object)

Restaura o estado de exibição salvo anteriormente do campo de controle de dados.

(Herdado de DataControlField)
IStateManager.SaveViewState()

Salva as alterações feitas no estado de exibição DataControlField desde a hora em que a página foi postada de volta no servidor.

(Herdado de DataControlField)
IStateManager.TrackViewState()

Faz com que o objeto DataControlField controle as alterações em seu estado de exibição, de modo que elas possam ser armazenadas na propriedade ViewState do controle e persistidas entre solicitações para a mesma página.

(Herdado de DataControlField)

Métodos de Extensão

ConvertEditedValue(IFieldFormattingOptions, String)

Retorna o valor fornecido por um usuário para um controle que está sendo validado.

FormatEditValue(IFieldFormattingOptions, Object)

Formata o valor do campo especificado usando as opções de formatação especificadas.

FormatValue(IFieldFormattingOptions, Object)

Formata o valor do campo especificado usando as opções de formatação especificadas.

Aplica-se a

Confira também