DynamicField Класс

Определение

Представляет поле данных, которое отображается в элементе управления с привязкой к данным, использующем возможности динамических данных ASP.NET.Represents a data field that is displayed in a data-bound control that uses ASP.NET Dynamic Data features.

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
Наследование
DynamicField
Реализации

Примеры

См. пример кода времени выполнения этой функции: Run.See a run-time code example of this feature: Run.

В следующем примере показано, как использовать объект DynamicField в элементе управления GridView для отображения и изменения значений из таблицы базы данных.The following example demonstrates how to use the DynamicField object in a GridView control to display and edit values from a database table.

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

Комментарии

Содержание раздела:In this topic:

ВведениеIntroduction

Класс DynamicField используется элементами управления с привязкой к данным, такими как GridView и элементы управления DetailsView, для вывода значения поля, использующего функции ASP.NET платформа динамических данных на пользовательских страницах.The DynamicField class is used by data-bound controls, such as the GridView and DetailsView controls, to display a field value that uses ASP.NET Dynamic Data features in custom pages.

Класс DynamicField предоставляет функциональные возможности, аналогичные классу BoundField.The DynamicField class provides functionality that resembles that of the BoundField class. Однако, поскольку объект DynamicField используется в платформа динамических данных приложениях, можно воспользоваться следующими функциями платформа динамических данных:However, because a DynamicField object is used in Dynamic Data applications, you can take advantage of the following Dynamic Data features:

  • Автоматическое отображение соответствующего элемента управления для поля с помощью шаблонов полей на основе типа данных.Automatically rendering the proper control for a field by using field templates, based on the data type. Шаблоны полей могут быть глобально изменены для всего приложения.The field templates can be globally modified for the entire application.

  • Предоставление встроенной проверки данных на основе схемы базы данных.Providing built-in data validation based on the database schema. Можно также добавить типы проверки, настроив модель данных.You can also add validation types by customizing the data model.

  • Настройка подготовки к просмотру данных для отдельных полей с помощью атрибутов в модели данных или с помощью свойства UIHint.Customizing data rendering for individual fields by using attributes in the data model or by using the UIHint property.

Объект DynamicField отображает каждое поле с помощью элемента управления DynamicControl.The DynamicField object renders each field by using a DynamicControl control. Чтобы указать поле данных, отображаемое в DynamicField объекте, задайте для свойства DataField имя поля.To specify the data field to display in a DynamicField object, set the DataField property to the field name. Пользовательскую строку форматирования можно применить к значению поля, задав свойство DataFormatString.You can apply a custom formatting string to the field value by setting the DataFormatString property. По умолчанию строка форматирования применяется к значениям полей только в том случае, если элемент управления с привязкой к данным находится в режиме только для чтения.By default the formatting string is applied to field values only when the data-bound control is in read-only mode. Чтобы применить строку форматирования к значениям, отображаемым, когда элемент управления с привязкой к данным находится в режиме редактирования, задайте для свойства ApplyFormatInEditMode значение true.To apply the formatting string to values displayed while the data-bound control is in edit mode, set the ApplyFormatInEditMode property to true. Если значение поля null, можно отобразить пользовательский заголовок, задав свойство NullDisplayText.If a field value is null, you can display a custom caption by setting the NullDisplayText property. Объект DynamicField также может автоматически преобразовывать пустые строковые ("") значения полей в значения NULL, присвоив свойству ConvertEmptyStringToNull значение true.The DynamicField object can also automatically convert empty string ("") field values to null values by setting the ConvertEmptyStringToNull property to true.

Декларативный синтаксисDeclarative Syntax

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

Конструкторы

DynamicField()

Инициализация нового экземпляра класса DynamicField.Initializes a new instance of the DynamicField class.

Свойства

AccessibleHeaderText

Возвращает или задает текст, отображающийся как значение свойство AbbreviatedText некоторых элементов управления.Gets or sets text that is rendered as the AbbreviatedText property value in some controls.

(Унаследовано от DataControlField)
ApplyFormatInEditMode

Возвращает или задает значение, указывающее, применима ли строка форматирования, заданная в свойстве DataFormatString, к значению поля, если поле данных находится в режиме правки.Gets or sets a value that indicates whether the formatted string that is specified by the DataFormatString property is applied to field value when the data field is in edit mode.

Column

Получает объект MetaColumn, с которым связан данный объект DynamicField.Gets the MetaColumn object that this DynamicField object is associated with.

Control

Возвращает ссылку на элемент управления данными, с которым связан объект DataControlField.Gets a reference to the data control that the DataControlField object is associated with.

(Унаследовано от DataControlField)
ControlStyle

Получает стиль любых серверных веб-элементов управления, содержащихся в объекте DataControlField.Gets the style of any Web server controls contained by the DataControlField object.

(Унаследовано от DataControlField)
ConvertEmptyStringToNull

Возвращает или задает значение, показывающее, преобразовываются ли пустые строковые значения ("") автоматически в значения NULL, когда в источнике данных обновляется поле данных.Gets or sets a value that indicates whether empty string values ("") are automatically converted to null values when the data field is updated in the data source.

DataField

Возвращает или задает имя поля данных, к которому привязывается объект DynamicField.Gets or sets the name of the data field to bind the DynamicField object to.

DataFormatString

Возвращает или задает строку, определяющую формат отображения значения поля данных.Gets or sets the string that specifies the display format for the value of the data field.

DesignMode

Возвращает значение, указывающее, просматривается ли в данный момент поле элемента управления данными в среде режима разработки.Gets a value indicating whether a data control field is currently viewed in a design-time environment.

(Унаследовано от DataControlField)
FooterStyle

Возвращает или задает стиль нижнего колонтитула поля элемента управления данными.Gets or sets the style of the footer of the data control field.

(Унаследовано от DataControlField)
FooterText

Возвращает или задает текст для отображения в нижнем колонтитуле поля элемента управления данными.Gets or sets the text that is displayed in the footer item of a data control field.

(Унаследовано от DataControlField)
HeaderImageUrl

Возвращает или задает URL -адрес изображения для отображения в верхнем колонтитуле поля элемента управления данными.Gets or sets the URL of an image that is displayed in the header item of a data control field.

(Унаследовано от DataControlField)
HeaderStyle

Возвращает или задает стиль верхнего колонтитула поля элемента управления данными.Gets or sets the style of the header of the data control field.

(Унаследовано от DataControlField)
HeaderText

Возвращает или задает текст для отображения в заголовке элемента управления с привязкой к данным, содержащего объект DynamicField.Gets or sets the text that is displayed in the header of the data-bound control that contains the DynamicField object.

HtmlEncode

Возвращает или задает значение, указывающее, следует ли выполнять HTML-кодирование значений полей данных перед их отображением в объекте DynamicField.Gets or sets a value that indicates whether data field values are HTML-encoded before they are displayed in a DynamicField object.

InsertVisible

Возвращает значение, указывающее состояние отображения объекта DataControlField во время пребывания его родительского элемента управления, привязанного к данным, в режиме вставки.Gets a value indicating whether the DataControlField object is visible when its parent data-bound control is in insert mode.

(Унаследовано от DataControlField)
IsTrackingViewState

Получает значение, указывающее сохраняет ли объект DataControlField изменения в данных о состоянии представления.Gets a value indicating whether the DataControlField object is saving changes to its view state.

(Унаследовано от DataControlField)
ItemStyle

Возвращает стиль любого текстового содержимого, отображаемого полем элемента управления содержанием.Gets the style of any text-based content displayed by a data control field.

(Унаследовано от DataControlField)
NullDisplayText

Возвращает или задает заголовок, отображаемый для поля данных, когда оно имеет значение null.Gets or sets the caption that is displayed for a data field when the field value is null.

ReadOnly

Получает состояние "только для чтения" динамического поля.Gets the read-only state of the dynamic field.

ShowHeader

Возвращает или задает значение, указывающее на необходимость отображения верхнего колонтитула для поля элемента управления данными.Gets or sets a value indicating whether the header item of a data control field is rendered.

(Унаследовано от DataControlField)
SortExpression

Возвращает или задает выражение сортировки, применяемое, когда поле данных используется для сортировки по нему источника данных.Gets or sets the sort expression that is used when the data field is used to sort the data source by.

UIHint

Возвращает или задает шаблон поля, используемый для отображения поля данных.Gets or sets the field template to use for displaying the data field.

ValidateRequestMode

Получает или задает значение, указывающее, проверяет ли элемент управления клиентский ввод.Gets or sets a value that specifies whether the control validates client input.

ValidationGroup

Получает объект ValidationGroup, с которым связан данный объект DynamicField.Gets the ValidationGroup object that this DynamicField object is associated with.

ViewState

Возвращает словарь сведений о состоянии, позволяющих сохранять и восстанавливать состояние представления объекта DataControlField при нескольких запросах одной и той же страницы.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.

(Унаследовано от DataControlField)
Visible

Возвращает или задает значение, определяющее, отображается ли поле элемента управления данными.Gets or sets a value indicating whether a data control field is rendered.

(Унаследовано от DataControlField)

Методы

CloneField()

Создает точную копию текущего объекта, производного от DataControlField.Creates a duplicate copy of the current DataControlField-derived object.

(Унаследовано от DataControlField)
ConfigureDynamicControl(DynamicControl)

Предоставляет механизм изменения объекта DynamicControl, созданного методом InitializeCell(DataControlFieldCell, DataControlCellType, DataControlRowState, Int32).Provides a mechanism to modify a DynamicControl object that was created by the InitializeCell(DataControlFieldCell, DataControlCellType, DataControlRowState, Int32) method.

CopyProperties(DataControlField)

Копирует свойства текущего объекта DynamicField в указанный объект DataControlField.Copies the properties of the current DynamicField object to the specified DataControlField object.

CreateDynamicControl()

Предоставляет механизм переопределения способа создания объекта DynamicField для классов, производных от класса DynamicControl.Provides a mechanism for classes that derive from DynamicField to override how a DynamicControl object is created.

CreateField()

Создает и возвращает новый экземпляр класса DynamicField.Creates and returns a new instance of the DynamicField class.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Унаследовано от Object)
ExtractValuesFromCell(IOrderedDictionary, DataControlFieldCell, DataControlRowState, Boolean)

Извлекает значение поля данных из текущей ячейки таблицы и добавляет его в указанный словарь.Extracts the value of the data field from the current table cell and adds the value to the specified dictionary.

GetAttribute(String)

Извлекает значение указанного атрибута.Retrieves the specified attribute value.

GetHashCode()

Служит в качестве хэш-функции по умолчанию.Serves as the default hash function.

(Унаследовано от Object)
GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Унаследовано от Object)
Initialize(Boolean, Control)

Производит базовую инициализацию экземпляра для поля элемента управления данными.Performs basic instance initialization for a data control field.

(Унаследовано от DataControlField)
InitializeCell(DataControlFieldCell, DataControlCellType, DataControlRowState, Int32)

Добавляет в или элементы управления в заданную ячейку.Adds text or controls to the specified cell.

LoadViewState(Object)

Восстанавливает сохраненное раннее состояние представления источника данных.Restores the data source view's previously saved view state.

(Унаследовано от DataControlField)
MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Унаследовано от Object)
OnFieldChanged()

Порождает событие FieldChanged.Raises the FieldChanged event.

(Унаследовано от DataControlField)
SaveViewState()

Сохраняет изменения в состояние объекта DataControlField после того, как страница отправлена на сервер.Saves the changes made to the DataControlField view state since the time the page was posted back to the server.

(Унаследовано от DataControlField)
SetAttribute(String, String)

Устанавливает атрибут, связанный с объектом DynamicField.Sets an attribute that is associated with the DynamicField object.

ToString()

Возврат строки, представляющей объект DataControlField.Returns a string that represents this DataControlField object.

(Унаследовано от DataControlField)
TrackViewState()

Инициирует отслеживание объектом DataControlField изменений в состоянии его представления, благодаря чему эти изменения можно сохранить в свойстве элемента ViewState элемента управления и хранить их для всех запросов одной и той же страницы.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.

(Унаследовано от DataControlField)
ValidateSupportsCallback()

При переопределении в производном классе, сообщает о поддержке ответов элементов управления поля.When overridden in a derived class, signals that the controls contained by a field support callbacks.

(Унаследовано от DataControlField)

Явные реализации интерфейса

IDataSourceViewSchemaAccessor.DataSourceViewSchema

Возвращает или задает схему, связанную с этим объектом DataControlField.Gets or sets the schema associated with this DataControlField object.

(Унаследовано от DataControlField)
IStateManager.IsTrackingViewState

Получает значение, указывающее сохраняет ли объект DataControlField изменения в данных о состоянии представления.Gets a value indicating whether the DataControlField object is saving changes to its view state.

(Унаследовано от DataControlField)
IStateManager.LoadViewState(Object)

Восстанавливает сохраненное раннее состояние представления поля источника данных.Restores the data control field's previously saved view state.

(Унаследовано от DataControlField)
IStateManager.SaveViewState()

Сохраняет изменения в состояние объекта DataControlField после того, как страница отправлена на сервер.Saves the changes made to the DataControlField view state since the time the page was posted back to the server.

(Унаследовано от DataControlField)
IStateManager.TrackViewState()

Инициирует отслеживание объектом DataControlField изменений в состоянии его представления, благодаря чему эти изменения можно сохранить в свойстве элемента ViewState элемента управления и хранить их для всех запросов одной и той же страницы.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.

(Унаследовано от DataControlField)

Методы расширения

ConvertEditedValue(IFieldFormattingOptions, String)

Возвращает значение, предоставленное пользователем для проверяемого элемента управления.Returns the value provided by a user for a control that is being validated.

FormatEditValue(IFieldFormattingOptions, Object)

Форматирует заданное значение поля, используя заданные параметры форматирования.Formats the specified field value by using the specified formatting options.

FormatValue(IFieldFormattingOptions, Object)

Форматирует заданное значение поля, используя заданные параметры форматирования.Formats the specified field value by using the specified formatting options.

Применяется к

Дополнительно