DynamicField Classe

Definição

Representa um campo de dados que é exibido num controlo data-bound que utiliza funcionalidades 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

O exemplo seguinte demonstra como usar o DynamicField objeto num GridView controlo para mostrar e editar valores a partir de uma tabela de base 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>

Observações

Neste tópico:

Introduction

A classe DynamicField é usada por controlos de dados vinculados, como os controlos GridView e DetailsView, para exibir um valor de campo que utiliza ASP.NET funcionalidades de Dados Dinâmicos em páginas personalizadas.

A DynamicField classe oferece funcionalidades que se assemelham à da BoundField classe. No entanto, como um DynamicField objeto é usado em aplicações de Dados Dinâmicos, pode tirar partido das seguintes funcionalidades de Dados Dinâmicos:

  • Renderização automática do controlo correto para um campo usando templates de campo, com base no tipo de dado. Os modelos de campo podem ser modificados globalmente para toda a aplicação.

  • Fornece validação de dados incorporada com base no esquema da base de dados. Também pode adicionar tipos de validação personalizando o modelo de dados.

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

O DynamicField objeto renderiza cada campo usando um DynamicControl controlo. Para especificar o campo de dados a mostrar num DynamicField objeto, defina a DataField propriedade para o nome do campo. Pode aplicar uma string de formatação personalizada ao valor do campo definindo a DataFormatString propriedade. Por defeito, a cadeia de formatação é aplicada aos valores do campo apenas quando o controlo limitado aos dados está em modo apenas de leitura. Para aplicar a cadeia de formatação aos valores exibidos enquanto o controlo data-bound está em modo de edição, defina a ApplyFormatInEditMode propriedade para true. Se o valor de um campo for null, pode mostrar uma legenda personalizada definindo a NullDisplayText propriedade. O DynamicField objeto também pode converter automaticamente valores de campos de string vazios ("") em valores nulos, definindo a ConvertEmptyStringToNull propriedade para 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

Name Description
DynamicField()

Inicializa uma nova instância da DynamicField classe.

Propriedades

Name Description
AccessibleHeaderText

Recebe ou define texto que é renderizado como valor de AbbreviatedText propriedade em alguns controlos.

(Herdado de DataControlField)
ApplyFormatInEditMode

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

Column

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

Control

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

(Herdado de DataControlField)
ControlStyle

Obtém o estilo de quaisquer controlos de servidor Web contidos pelo DataControlField objeto.

(Herdado de DataControlField)
ConvertEmptyStringToNull

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

DataField

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

DataFormatString

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

DesignMode

Obtém um valor que indica se um campo de controlo de dados está atualmente visualizado num ambiente em tempo de design.

(Herdado de DataControlField)
FooterStyle

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

(Herdado de DataControlField)
FooterText

Recebe ou define o texto que é exibido no elemento de rodapé de um campo de controlo de dados.

(Herdado de DataControlField)
HeaderImageUrl

Obtém ou define a URL de uma imagem que é exibida no elemento do cabeçalho de um campo de controlo de dados.

(Herdado de DataControlField)
HeaderStyle

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

(Herdado de DataControlField)
HeaderText

Obtém ou define o texto que é exibido no cabeçalho do controlo databound que contém o DynamicField objeto.

HtmlEncode

Recebe ou define um valor que indica se os valores dos campos de dados são codificados em HTML antes de serem exibidos num DynamicField objeto.

InsertVisible

Recebe um valor que indica se o DataControlField objeto é visível quando o controlo de dados do pai está em modo de inserção.

(Herdado de DataControlField)
IsTrackingViewState

Recebe um valor que indica se o DataControlField objeto está a guardar alterações ao seu estado de visualização.

(Herdado de DataControlField)
ItemStyle

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

(Herdado de DataControlField)
NullDisplayText

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

ReadOnly

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

ShowHeader

Recebe ou define um valor que indica se o elemento do cabeçalho de um campo de controlo de dados é renderizado.

(Herdado de DataControlField)
SortExpression

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

UIHint

Obtém ou define o modelo do campo para mostrar o campo de dados.

ValidateRequestMode

Recebe ou define um valor que especifica se o controlo valida a entrada do cliente.

ValidationGroup

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

ViewState

Obtém um dicionário de informação de estado que permite guardar e restaurar o estado de visualização de um DataControlField objeto através de múltiplos pedidos para a mesma página.

(Herdado de DataControlField)
Visible

Recebe ou define um valor que indica se um campo de controlo de dados é renderizado.

(Herdado de DataControlField)

Métodos

Name Description
CloneField()

Cria uma cópia duplicada do objeto derivado atualmente DataControlField.

(Herdado de DataControlField)
ConfigureDynamicControl(DynamicControl)

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

CopyProperties(DataControlField)

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

CreateDynamicControl()

Fornece um mecanismo para que classes derivadas de DynamicField possam sobrepor a forma como um DynamicControl objeto é criado.

CreateField()

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

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 atual e adiciona o valor ao dicionário especificado.

GetAttribute(String)

Recupera o valor do atributo especificado.

GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
Initialize(Boolean, Control)

Realiza a inicialização básica da instância para um campo de controlo de dados.

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

Adiciona texto ou controlos à célula especificada.

LoadViewState(Object)

Restaura o estado da vista de fonte de dados anteriormente guardada.

(Herdado de DataControlField)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
OnFieldChanged()

Eleva o FieldChanged evento.

(Herdado de DataControlField)
SaveViewState()

Guarda as alterações feitas ao DataControlField estado de visualização desde o momento em que a página foi publicada de volta no servidor.

(Herdado de DataControlField)
SetAttribute(String, String)

Define um atributo associado ao DynamicField objeto.

ToString()

Devolve uma cadeia que representa este DataControlField objeto.

(Herdado de DataControlField)
TrackViewState()

Faz com que o DataControlField objeto acompanhe alterações ao estado da visualização para que possam ser armazenadas na propriedade do ViewState controlo e persistirem entre pedidos para a mesma página.

(Herdado de DataControlField)
ValidateSupportsCallback()

Quando sobreposto numa classe derivada, sinaliza que os controlos contidos por um campo suportam callbacks.

(Herdado de DataControlField)

Implementações de Interface Explícita

Name Description
IDataSourceViewSchemaAccessor.DataSourceViewSchema

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

(Herdado de DataControlField)
IStateManager.IsTrackingViewState

Recebe um valor que indica se o DataControlField objeto está a guardar alterações ao seu estado de visualização.

(Herdado de DataControlField)
IStateManager.LoadViewState(Object)

Restaura o estado de visualização previamente guardado do campo de controlo de dados.

(Herdado de DataControlField)
IStateManager.SaveViewState()

Guarda as alterações feitas ao DataControlField estado de visualização desde o momento em que a página foi publicada de volta no servidor.

(Herdado de DataControlField)
IStateManager.TrackViewState()

Faz com que o DataControlField objeto acompanhe alterações ao estado da visualização para que possam ser armazenadas na propriedade do ViewState controlo e persistirem entre pedidos para a mesma página.

(Herdado de DataControlField)

Métodos da Extensão

Name Description
ConvertEditedValue(IFieldFormattingOptions, String)

Devolve o valor fornecido por um utilizador para um controlo que está a ser 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

Ver também