DynamicField Класс

Определение

Представляет поле данных, которое отображается в элементе управления с привязкой к данным, использующем возможности динамических данных 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
Наследование
DynamicField
Реализации

Примеры

См. пример кода во время выполнения этой функции: run.

В следующем примере показано, как использовать DynamicField объект в элементе GridView управления для отображения и изменения значений из таблицы базы данных.

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

Комментарии

В этом разделе:

Вступление

Класс DynamicField используется элементами управления, связанными с данными, например GridView элементами управления и DetailsView элементами управления, для отображения значения поля, использующего ASP.NET функции динамических данных на пользовательских страницах.

Класс DynamicField предоставляет функциональные возможности, аналогичные классу BoundField . Однако поскольку DynamicField объект используется в приложениях динамических данных, вы можете воспользоваться следующими функциями динамических данных:

  • Автоматическая отрисовка правильного элемента управления для поля с помощью шаблонов полей на основе типа данных. Шаблоны полей можно глобально изменить для всего приложения.

  • Обеспечение встроенной проверки данных на основе схемы базы данных. Вы также можете добавить типы проверки, настроив модель данных.

  • Настройка отрисовки данных для отдельных полей с помощью атрибутов в модели данных или с помощью UIHint свойства.

Объект отрисовывает каждое DynamicField поле с помощью DynamicControl элемента управления. Чтобы указать поле данных для отображения в DynamicField объекте, задайте DataField для свойства имя поля. Вы можете применить настраиваемую строку форматирования к значению поля, задав DataFormatString свойство. По умолчанию строка форматирования применяется к значениям полей только в том случае, если элемент управления с привязкой к данным находится в режиме только для чтения. Чтобы применить строку форматирования к значениям, отображаемым, когда элемент управления с привязкой к данным находится в режиме редактирования, задайте для свойства значение ApplyFormatInEditMode true. Если значение поля равно null, можно отобразить настраиваемое заголовок, задав NullDisplayText свойство. Объект DynamicField также может автоматически преобразовывать пустые строковые значения полей ("") в значения NULL, задав ConvertEmptyStringToNull для свойства значение true.

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

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

Свойства

AccessibleHeaderText

Возвращает или задает текст, отображающийся как значение свойство AbbreviatedText некоторых элементов управления.

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

Возвращает или задает значение, указывающее, применима ли строка форматирования, заданная в свойстве DataFormatString, к значению поля, если поле данных находится в режиме правки.

Column

Получает объект MetaColumn, с которым связан данный объект DynamicField.

Control

Возвращает ссылку на элемент управления данными, с которым связан объект DataControlField.

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

Получает стиль любых серверных веб-элементов управления, содержащихся в объекте DataControlField.

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

Возвращает или задает значение, показывающее, преобразовываются ли пустые строковые значения ("") автоматически в значения NULL, когда в источнике данных обновляется поле данных.

DataField

Возвращает или задает имя поля данных, к которому привязывается объект DynamicField.

DataFormatString

Возвращает или задает строку, определяющую формат отображения значения поля данных.

DesignMode

Возвращает значение, указывающее, просматривается ли в данный момент поле элемента управления данными в среде режима разработки.

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

Возвращает или задает стиль нижнего колонтитула поля элемента управления данными.

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

Возвращает или задает текст для отображения в нижнем колонтитуле поля элемента управления данными.

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

Возвращает или задает URL -адрес изображения для отображения в верхнем колонтитуле поля элемента управления данными.

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

Возвращает или задает стиль верхнего колонтитула поля элемента управления данными.

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

Возвращает или задает текст для отображения в заголовке элемента управления с привязкой к данным, содержащего объект DynamicField.

HtmlEncode

Возвращает или задает значение, указывающее, следует ли выполнять HTML-кодирование значений полей данных перед их отображением в объекте DynamicField.

InsertVisible

Возвращает значение, указывающее состояние отображения объекта DataControlField во время пребывания его родительского элемента управления, привязанного к данным, в режиме вставки.

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

Получает значение, указывающее сохраняет ли объект DataControlField изменения в данных о состоянии представления.

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

Возвращает стиль любого текстового содержимого, отображаемого полем элемента управления содержанием.

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

Возвращает или задает заголовок, отображаемый для поля данных, когда оно имеет значение null.

ReadOnly

Получает состояние "только для чтения" динамического поля.

ShowHeader

Возвращает или задает значение, указывающее на необходимость отображения верхнего колонтитула для поля элемента управления данными.

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

Возвращает или задает выражение сортировки, применяемое, когда поле данных используется для сортировки по нему источника данных.

UIHint

Возвращает или задает шаблон поля, используемый для отображения поля данных.

ValidateRequestMode

Получает или задает значение, указывающее, проверяет ли элемент управления клиентский ввод.

ValidateRequestMode

Получает или задает значение, указывающее, проверяет ли элемент управления клиентский ввод.

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

Получает объект ValidationGroup, с которым связан данный объект DynamicField.

ViewState

Возвращает словарь сведений о состоянии, позволяющих сохранять и восстанавливать состояние представления объекта DataControlField при нескольких запросах одной и той же страницы.

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

Возвращает или задает значение, определяющее, отображается ли поле элемента управления данными.

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

Методы

CloneField()

Создает точную копию текущего объекта, производного от DataControlField.

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

Предоставляет механизм изменения объекта DynamicControl, созданного методом InitializeCell(DataControlFieldCell, DataControlCellType, DataControlRowState, Int32).

CopyProperties(DataControlField)

Копирует свойства текущего объекта DynamicField в указанный объект DataControlField.

CreateDynamicControl()

Предоставляет механизм переопределения способа создания объекта DynamicField для классов, производных от класса DynamicControl.

CreateField()

Создает и возвращает новый экземпляр класса DynamicField.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

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

Извлекает значение поля данных из текущей ячейки таблицы и добавляет его в указанный словарь.

GetAttribute(String)

Извлекает значение указанного атрибута.

GetHashCode()

Служит хэш-функцией по умолчанию.

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

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

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

Производит базовую инициализацию экземпляра для поля элемента управления данными.

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

Добавляет в или элементы управления в заданную ячейку.

LoadViewState(Object)

Восстанавливает сохраненное раннее состояние представления источника данных.

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

Создает неполную копию текущего объекта Object.

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

Вызывает событие FieldChanged.

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

Сохраняет изменения в состояние объекта DataControlField после того, как страница отправлена на сервер.

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

Устанавливает атрибут, связанный с объектом DynamicField.

ToString()

Возврат строки, представляющей объект DataControlField.

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

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

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

При переопределении в производном классе, сообщает о поддержке ответов элементов управления поля.

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

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

IDataSourceViewSchemaAccessor.DataSourceViewSchema

Возвращает или задает схему, связанную с этим объектом DataControlField.

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

Получает значение, указывающее сохраняет ли объект DataControlField изменения в данных о состоянии представления.

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

Восстанавливает сохраненное раннее состояние представления поля источника данных.

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

Сохраняет изменения в состояние объекта DataControlField после того, как страница отправлена на сервер.

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

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

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

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

ConvertEditedValue(IFieldFormattingOptions, String)

Возвращает значение, предоставленное пользователем для проверяемого элемента управления.

FormatEditValue(IFieldFormattingOptions, Object)

Форматирует заданное значение поля, используя заданные параметры форматирования.

FormatValue(IFieldFormattingOptions, Object)

Форматирует заданное значение поля, используя заданные параметры форматирования.

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

См. также раздел