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


TemplateField Класс

Определение

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

public ref class TemplateField : System::Web::UI::WebControls::DataControlField
public class TemplateField : System.Web.UI.WebControls.DataControlField
type TemplateField = class
    inherit DataControlField
Public Class TemplateField
Inherits DataControlField
Наследование
TemplateField

Примеры

В следующем примере кода показано, как создать пользовательский TemplateField объект, отображающий два поля в одной ячейке. Поля имени и фамилии объединяются в один и тот же TemplateField объект.


<%@ Page language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>TemplateField Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>TemplateField Example</h3>

      <!-- Populate the Columns collection declaratively. -->
      <!-- Create a custom TemplateField column that uses      -->
      <!-- two Label controls to display an author's first and -->
      <!-- last name in the same column.                       -->
      <asp:gridview id="AuthorsGridView" 
        datasourceid="AuthorsSqlDataSource" 
        autogeneratecolumns="False"
        runat="server">
                
        <columns>
                
          <asp:templatefield headertext="Author Name">
            <itemtemplate>
              <asp:label id="FirstNameLabel"
                Text= '<%# Eval("au_fname") %>'
                runat="server"/> 
              <asp:label id="LastNameLabel"
                Text= '<%# Eval("au_lname") %>'
                runat="server"/>
            </itemtemplate>
          </asp:templatefield>
                
        </columns>
                
      </asp:gridview>
            
      <!-- This example uses Microsoft SQL Server and connects -->
      <!-- to the Pubs sample database.                        -->
      <asp:sqldatasource id="AuthorsSqlDataSource"  
        selectcommand="SELECT [au_lname], [au_fname], [address], [city], [state], [zip], [contract] FROM [authors]"
        connectionstring="server=localhost;database=pubs;integrated security=SSPI"
        runat="server">
      </asp:sqldatasource>
            
    </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">
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>TemplateField Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>TemplateField Example</h3>

      <!-- Populate the Columns collection declaratively. -->
      <!-- Create a custom TemplateField column that uses      -->
      <!-- two Label controls to display an author's first and -->
      <!-- last name in the same column.                       -->
      <asp:gridview id="AuthorsGridView" 
        datasourceid="AuthorsSqlDataSource" 
        autogeneratecolumns="False"
        runat="server">
                
        <columns>
                
          <asp:templatefield headertext="Author Name">
            <itemtemplate>
              <asp:label id="FirstNameLabel"
                text= '<%# Eval("au_fname") %>'
                runat="server"/> 
              <asp:label id="LastNameLabel"
                text= '<%# Eval("au_lname") %>'
                runat="server"/>
            </itemtemplate>
          </asp:templatefield>
                
        </columns>
                
      </asp:gridview>
            
      <!-- This example uses Microsoft SQL Server and connects -->
      <!-- to the Pubs sample database.                        -->
      <asp:sqldatasource id="AuthorsSqlDataSource"  
        selectcommand="SELECT [au_lname], [au_fname], [address], [city], [state], [zip], [contract] FROM [authors]"
        connectionstring="server=localhost;database=pubs;integrated security=SSPI"
        runat="server">
      </asp:sqldatasource>
            
    </form>
  </body>
</html>

Комментарии

Класс TemplateField используется элементами управления с привязкой к данным (например GridView , и DetailsView) для отображения пользовательского содержимого для каждой записи. Если необходимо отобразить содержимое в элементе управления с привязкой к данным, который не предоставляется одним из предопределенных полей управления данными (например BoundField, используйте TemplateField класс для создания пользовательского пользовательского интерфейса). Объект TemplateField отображается по-разному в зависимости от элемента управления, привязанного к данным, в котором он используется. Например, элемент GridView управления отображает TemplateField объект в виде столбца, а DetailsView элемент управления отображает его в виде строки.

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

Template Описание
AlternatingItemTemplate Указывает содержимое, отображаемое для чередующихся элементов в объекте TemplateField .
EditItemTemplate Указывает содержимое, отображаемое для элемента в режиме редактирования в объекте TemplateField .
FooterTemplate Указывает содержимое, отображаемое для нижнего TemplateField колонтитула объекта.
HeaderTemplate Указывает содержимое, отображаемое для раздела заголовка TemplateField объекта.
InsertItemTemplate Указывает содержимое, отображаемое для элемента в режиме вставки в TemplateField объекте. Этот шаблон поддерживается только элементом DetailsView управления.
ItemTemplate Указывает содержимое, отображаемое для элементов в объекте TemplateField .

Объект можно скрыть TemplateField в элементе управления, привязанном к данным, задав Visible для свойства значение false.

В качестве альтернативы определению пользовательского HeaderTemplate или FooterTemplate шаблона можно настроить разделы верхнего и нижнего TemplateFieldTemplateField колонтитулов объекта, задав другие свойства объекта. Чтобы отобразить заголовок в разделах верхнего или нижнего колонтитулов, задайте HeaderText свойство или FooterText свойство соответственно. Вместо отображения текста в разделе заголовка можно отобразить изображение, задав HeaderImageUrl свойство. Раздел заголовка можно скрыть в объекте TemplateField , задав ShowHeader для свойства значение false.

Замечание

Некоторые элементы управления с привязкой к данным (например GridView , элемент управления) могут отображать или скрывать только весь раздел заголовка элемента управления. Эти элементы управления с привязкой к данным не поддерживают ShowHeader свойство для отдельного ограничивающего поля. Чтобы отобразить или скрыть весь раздел заголовка элемента управления с привязкой к данным, используйте свойство элемента управления ShowHeader (если доступно).

Вы также можете настроить внешний вид объекта (цвет шрифта TemplateField , цвет фона и т. д.), задав свойства стиля для различных частей поля. В следующей таблице перечислены различные свойства стиля.

Свойство Style Описание
ControlStyle Параметры стиля для дочерних элементов управления TemplateField веб-сервера объекта.
FooterStyle Параметры стиля для нижнего TemplateField колонтитула объекта.
HeaderStyle Параметры стиля для раздела заголовка TemplateField объекта.
ItemStyle Параметры стиля для элементов данных в объекте TemplateField .

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

Имя Описание
TemplateField()

Инициализирует новый экземпляр класса TemplateField.

Свойства

Имя Описание
AccessibleHeaderText

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

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

Возвращает или задает шаблон для отображения переменных элементов в объекте TemplateField .

Control

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

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

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

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

Возвращает или задает значение, указывающее, следует ли преобразовать объект TemplateField в null значение, если оно есть Empty.

DesignMode

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

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

Возвращает или задает шаблон для отображения элемента в режиме редактирования в объекте TemplateField .

FooterStyle

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

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

Возвращает или задает шаблон для отображения нижнего TemplateField колонтитула объекта.

FooterText

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

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

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

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

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

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

Возвращает или задает шаблон для отображения раздела заголовка TemplateField объекта.

HeaderText

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

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

Возвращает или задает шаблон для отображения элемента в режиме вставки в TemplateField объекте.

InsertVisible

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

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

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

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

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

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

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

ShowHeader

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

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

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

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

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

ViewState

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

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

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

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

Методы

Имя Описание
CloneField()

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

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

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

CreateField()

Создает новый объект TemplateField.

Equals(Object)

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

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

Извлекает значение полей управления данными, указанных одной или несколькими двусторонними операторами привязки (DataBind) из текущей ячейки таблицы и добавляет значения в указанную IOrderedDictionary коллекцию.

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)
ToString()

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

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

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

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

Определяет, содержатся ли элементы управления, содержащиеся в TemplateField обратных вызовах страницы в объекте.

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

Имя Описание
IDataSourceViewSchemaAccessor.DataSourceViewSchema

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

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

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

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

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

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

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

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

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

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

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

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