Condividi tramite


DynamicField Classe

Definizione

Rappresenta un campo di dati che viene visualizzato in un controllo associato a dati che usa le funzionalità Dynamic Data di 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
Ereditarietà
DynamicField
Implementazioni

Esempio

Vedere un esempio di codice di runtime di questa funzionalità: Esegui.

Nell'esempio seguente viene illustrato come usare l'oggetto DynamicField in un controllo per visualizzare e modificare i valori da una GridView tabella di database.

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

Commenti

In questo argomento

Introduzione

La DynamicField classe viene usata dai controlli associati ai dati, ad esempio i GridView controlli e DetailsView , per visualizzare un valore di campo che usa ASP.NET funzionalità di dati dinamici nelle pagine personalizzate.

La DynamicField classe fornisce funzionalità simili a quella della BoundField classe. Tuttavia, poiché un DynamicField oggetto viene usato nelle applicazioni Dynamic Data, è possibile sfruttare le funzionalità di Dynamic Data seguenti:

  • Esegue automaticamente il rendering del controllo appropriato per un campo usando i modelli di campo, in base al tipo di dati. I modelli di campo possono essere modificati a livello globale per l'intera applicazione.

  • Fornire la convalida dei dati predefinita in base allo schema del database. È anche possibile aggiungere tipi di convalida personalizzando il modello di dati.

  • Personalizzazione del rendering dei dati per i singoli campi usando attributi nel modello di dati o usando la UIHint proprietà .

L'oggetto DynamicField esegue il rendering di ogni campo usando un DynamicControl controllo. Per specificare il campo dati da visualizzare in un DynamicField oggetto, impostare la DataField proprietà sul nome del campo. È possibile applicare una stringa di formattazione personalizzata al valore del campo impostando la DataFormatString proprietà. Per impostazione predefinita, la stringa di formattazione viene applicata ai valori del campo solo quando il controllo associato ai dati è in modalità di sola lettura. Per applicare la stringa di formattazione ai valori visualizzati mentre il controllo associato ai dati è in modalità di modifica, impostare la ApplyFormatInEditMode proprietà su true. Se un valore di campo è null, è possibile visualizzare una didascalia personalizzata impostando la NullDisplayText proprietà. L'oggetto DynamicField può anche convertire automaticamente valori di campo vuota ("") in valori Null impostando la ConvertEmptyStringToNull proprietà su true.

Sintassi dichiarativa

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

Costruttori

DynamicField()

Inizializza una nuova istanza della classe DynamicField.

Proprietà

AccessibleHeaderText

Ottiene o imposta il testo che viene sottoposto a rendering come valore della proprietà AbbreviatedText in alcuni controlli.

(Ereditato da DataControlField)
ApplyFormatInEditMode

Ottiene o imposta un valore che indica se la stringa formattata specificata dalla proprietà DataFormatString viene applicata a un valore di campo quando il campo dati è in modalità di modifica.

Column

Ottiene l'oggetto MetaColumn a cui è associato questo oggetto DynamicField.

Control

Ottiene un riferimento al controllo dati a cui l'oggetto DataControlField è associato.

(Ereditato da DataControlField)
ControlStyle

Ottiene lo stile di tutti i controlli server Web contenuti nell'oggetto DataControlField.

(Ereditato da DataControlField)
ConvertEmptyStringToNull

Ottiene o imposta un valore che indica se i valori di stringa vuota ("") vengono convertiti automaticamente in valori Null quando il campo dati viene aggiornato nell'origine dati.

DataField

Ottiene o imposta il nome del campo dati a cui associare l'oggetto DynamicField.

DataFormatString

Ottiene o imposta la stringa in cui è specificato il formato di visualizzazione per il valore del campo dati.

DesignMode

Ottiene un valore che indica se un campo di controllo dati è attualmente visualizzato in un ambiente di progettazione.

(Ereditato da DataControlField)
FooterStyle

Ottiene o imposta lo stile del piè di pagina del campo di controllo dati.

(Ereditato da DataControlField)
FooterText

Ottiene o imposta il testo visualizzato nell'elemento del piè di pagina del campo di controllo dati.

(Ereditato da DataControlField)
HeaderImageUrl

Ottiene o imposta l'URL di un'immagine che viene visualizzata nell'elemento di intestazione di un campo di controlli dati.

(Ereditato da DataControlField)
HeaderStyle

Ottiene o imposta lo stile dell'intestazione del campo di controllo dati.

(Ereditato da DataControlField)
HeaderText

Ottiene o imposta il testo visualizzato nell'intestazione del controllo con associazione a dati che contiene l'oggetto DynamicField.

HtmlEncode

Ottiene o imposta un valore che indica se i valori del campo dati vengono codificati in HTML prima di essere visualizzati in un oggetto DynamicField.

InsertVisible

Ottiene un valore che indica se l'oggetto DataControlField è visibile quando il controllo con associazione a dati padre si trova in modalità di inserimento.

(Ereditato da DataControlField)
IsTrackingViewState

Ottiene un valore che indica se l'oggetto DataControlField sta salvando le modifiche apportate al relativo stato di visualizzazione.

(Ereditato da DataControlField)
ItemStyle

Ottiene lo stile di tutti i contenuti basati sul testo visualizzati da un campo di controllo dati.

(Ereditato da DataControlField)
NullDisplayText

Ottiene o imposta la didascalia visualizzata per un campo dati quando il valore di campo è null.

ReadOnly

Ottiene lo stato di sola lettura del campo dinamico.

ShowHeader

Ottiene o imposta un valore che indica se viene eseguito il rendering dell'elemento di intestazione di un campo di controllo dati.

(Ereditato da DataControlField)
SortExpression

Ottiene o imposta l'espressione di ordinamento utilizzata con il campo dati in base a cui ordinare l'origine dati.

UIHint

Ottiene o imposta il modello di campo da utilizzare per visualizzare il campo dati.

ValidateRequestMode

Ottiene o imposta un valore che specifica se il controllo convalida l'input del client.

ValidateRequestMode

Ottiene o imposta un valore che specifica se il controllo convalida l'input del client.

(Ereditato da DataControlField)
ValidationGroup

Ottiene l'oggetto ValidationGroup a cui è associato questo oggetto DynamicField.

ViewState

Ottiene un dizionario di informazioni sullo stato che consente di salvare e ripristinare lo stato di visualizzazione di un oggetto DataControlField tra più richieste per la stessa pagina.

(Ereditato da DataControlField)
Visible

Ottiene o imposta un valore che indica se viene eseguito il rendering di un campo di controllo dati.

(Ereditato da DataControlField)

Metodi

CloneField()

Crea una copia duplicata dell'oggetto corrente derivato da DataControlField.

(Ereditato da DataControlField)
ConfigureDynamicControl(DynamicControl)

Fornisce un meccanismo per modificare un oggetto DynamicControl creato dal metodo InitializeCell(DataControlFieldCell, DataControlCellType, DataControlRowState, Int32).

CopyProperties(DataControlField)

Copia le proprietà dell'oggetto DynamicField corrente nell'oggetto DataControlField specificato.

CreateDynamicControl()

Fornisce un meccanismo per consentire alle classi che derivano da DynamicField di eseguire l'override della modalità di creazione di un oggetto DynamicControl.

CreateField()

Crea e restituisce una nuova istanza della classe DynamicField.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
ExtractValuesFromCell(IOrderedDictionary, DataControlFieldCell, DataControlRowState, Boolean)

Estrae il valore del campo dati dalla cella corrente della tabella e aggiunge il valore al dizionario specificato.

GetAttribute(String)

Recupera il valore dell'attributo specificato.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
Initialize(Boolean, Control)

Esegue un'inizializzazione dell'istanza di base per un campo di controllo dati.

(Ereditato da DataControlField)
InitializeCell(DataControlFieldCell, DataControlCellType, DataControlRowState, Int32)

Aggiunge il testo o i controlli alla cella specificata.

LoadViewState(Object)

Ripristina lo stato di visualizzazione precedentemente salvato della visualizzazione origine dati.

(Ereditato da DataControlField)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
OnFieldChanged()

Genera l'evento FieldChanged.

(Ereditato da DataControlField)
SaveViewState()

Salva le modifiche apportate allo stato di visualizzazione DataControlField dal momento in cui è stato eseguito il postback della pagina al server.

(Ereditato da DataControlField)
SetAttribute(String, String)

Imposta un attributo associato all'oggetto DynamicField.

ToString()

Restituisce una stringa che rappresenta questo oggetto DataControlField.

(Ereditato da DataControlField)
TrackViewState()

Mediante questo metodo l'oggetto DataControlField tiene traccia delle modifiche apportate al relativo stato di visualizzazione in modo che possano essere memorizzate nella proprietà ViewState del controllo e mantenute nelle richieste della stessa pagina.

(Ereditato da DataControlField)
ValidateSupportsCallback()

Quando si esegue l'override in una classe derivata, segnala che i controlli contenuti in un campo supportano i callback.

(Ereditato da DataControlField)

Implementazioni dell'interfaccia esplicita

IDataSourceViewSchemaAccessor.DataSourceViewSchema

Ottiene o imposta lo schema associato all'oggetto DataControlField.

(Ereditato da DataControlField)
IStateManager.IsTrackingViewState

Ottiene un valore che indica se l'oggetto DataControlField sta salvando le modifiche apportate al relativo stato di visualizzazione.

(Ereditato da DataControlField)
IStateManager.LoadViewState(Object)

Ripristina lo stato di visualizzazione del campo del controllo dati salvato in precedenza.

(Ereditato da DataControlField)
IStateManager.SaveViewState()

Salva le modifiche apportate allo stato di visualizzazione DataControlField dal momento in cui è stato eseguito il postback della pagina al server.

(Ereditato da DataControlField)
IStateManager.TrackViewState()

Mediante questo metodo l'oggetto DataControlField tiene traccia delle modifiche apportate al relativo stato di visualizzazione in modo che possano essere memorizzate nella proprietà ViewState del controllo e mantenute nelle richieste della stessa pagina.

(Ereditato da DataControlField)

Metodi di estensione

ConvertEditedValue(IFieldFormattingOptions, String)

Restituisce il valore fornito da un utente per un controllo che viene sottoposto a convalida.

FormatEditValue(IFieldFormattingOptions, Object)

Formatta il valore di campo specificato utilizzando le opzioni di formattazione specificate.

FormatValue(IFieldFormattingOptions, Object)

Formatta il valore di campo specificato utilizzando le opzioni di formattazione specificate.

Si applica a

Vedi anche