Поделиться через


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
Реализации

Примеры

В следующем примере показано, как использовать 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 свойства.

Объект отображает каждое DynamicFieldDynamicControl поле с помощью элемента управления. Чтобы указать поле данных для отображения в объекте 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

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

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)

Форматирует указанное значение поля с помощью указанных параметров форматирования.

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

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