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

次のコード例では、同じセルに 2 つのフィールドを表示するカスタム 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、表示される各レコードのカスタム コンテンツを表示するために、データ バインド コントロール (や DetailsViewなどGridView) によって使用されます。 定義済みのデータ コントロール フィールドの 1 つ (など BoundField) によって提供されないデータ バインド コントロールにコンテンツを表示する必要がある場合は、 クラスを TemplateField 使用してカスタム ユーザー インターフェイス (UI) を作成します。 オブジェクトは TemplateField 、使用されているデータ バインド コントロールによって異なる方法で表示されます。 たとえば、コントロールは GridView オブジェクトを TemplateField 列として表示し、コントロールはそれを DetailsView 行として表示します。

次の表に示すテンプレートを使用して、 TemplateField オブジェクトのさまざまな部分のカスタム テンプレートを定義できます。

Template 説明
AlternatingItemTemplate オブジェクト内の交互の項目に対して表示するコンテンツを TemplateField 指定します。
EditItemTemplate オブジェクトの編集モードのアイテムに表示するコンテンツを TemplateField 指定します。
FooterTemplate オブジェクトのフッター セクションに表示するコンテンツを TemplateField 指定します。
HeaderTemplate オブジェクトのヘッダー セクションに表示するコンテンツを TemplateField 指定します。
InsertItemTemplate オブジェクトの挿入モードでアイテムに表示するコンテンツを TemplateField 指定します。 このテンプレートは、 コントロールによって DetailsView のみサポートされます。
ItemTemplate オブジェクト内の項目に表示するコンテンツを TemplateField 指定します。

プロパティを TemplateField に設定することで、データ バインド コントロール内のオブジェクトをVisiblefalse非表示にすることができます。

カスタム HeaderTemplate または FooterTemplate テンプレートを定義する代わりに、オブジェクトの他のプロパティを設定することで、オブジェクトの TemplateField ヘッダーセクションとフッターセクションを TemplateField カスタマイズできます。 ヘッダーセクションまたはフッターセクションにキャプションを表示するには、 または FooterText プロパティをそれぞれ設定HeaderTextします。 ヘッダー セクションにテキストを表示する代わりに、 プロパティを設定して画像を HeaderImageUrl 表示できます。 ヘッダー セクションは、 プロパティを に TemplateField 設定することで、オブジェクトで ShowHeader 非表示にすることができます false

注意

一部のデータ バインド コントロール (コントロールなど) では、コントロールの GridView ヘッダー セクション全体のみを表示または非表示にすることができます。 これらのデータ バインド コントロールは、個々の連結フィールドの ShowHeader プロパティをサポートしていません。 データ バインド コントロールのヘッダー セクション全体を表示または非表示にするには、コントロールの ShowHeader プロパティ (使用可能な場合) を使用します。

また、フィールドのさまざまな部分のスタイル プロパティを TemplateField 設定することで、オブジェクトの外観 (フォントの色、背景色など) をカスタマイズすることもできます。 次の表に、さまざまなスタイル プロパティの一覧を示します。

Style プロパティ [説明]
ControlStyle オブジェクトの子 Web サーバー コントロールの TemplateField スタイル設定。
FooterStyle オブジェクトのフッター セクションの TemplateField スタイル設定。
HeaderStyle オブジェクトのヘッダー セクションの TemplateField スタイル設定。
ItemStyle オブジェクト内 TemplateField のデータ項目のスタイル設定。

コンストラクター

TemplateField()

TemplateField クラスの新しいインスタンスを初期化します。

プロパティ

AccessibleHeaderText

一部のコントロールの AbbreviatedText プロパティ値として表示されるテキストを取得または設定します。

(継承元 DataControlField)
AlternatingItemTemplate

TemplateField オブジェクトの交互の項目を表示するときに使用するテンプレートを取得または設定します。

Control

DataControlField オブジェクトが関連付けられているデータ コントロールの参照を取得します。

(継承元 DataControlField)
ControlStyle

DataControlField オブジェクトに格納されているすべての Web サーバー コントロールのスタイルを取得します。

(継承元 DataControlField)
ConvertEmptyStringToNull

TemplateField オブジェクトのバインド先の値が Empty の場合に、その値を null に変換する必要があるかどうかを示す値を取得または設定します。

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

コントロールでクライアントの入力を検証するかどうかを指定する値を取得または設定します。

ValidateRequestMode

コントロールでクライアントの入力を検証するかどうかを指定する値を取得または設定します。

(継承元 DataControlField)
ViewState

同一のページに対する複数の要求にわたって、DataControlField オブジェクトのビューステートを保存し、復元できるようにする状態情報のディクショナリを取得します。

(継承元 DataControlField)
Visible

データ コントロール フィールドを表示するかどうかを示す値を取得または設定します。

(継承元 DataControlField)

メソッド

CloneField()

現在の DataControlField 派生オブジェクトのコピーを作成します。

(継承元 DataControlField)
CopyProperties(DataControlField)

現在の TemplateField 派生オブジェクトのプロパティを、指定された DataControlField オブジェクトにコピーします。

CreateField()

新しい TemplateField オブジェクトを作成します。

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
ExtractValuesFromCell(IOrderedDictionary, DataControlFieldCell, DataControlRowState, Boolean)

1 つ以上の双方向のバインディング ステートメント (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)

適用対象

こちらもご覧ください