DynamicField クラス

定義

ASP.NET Dynamic Data 機能を使用するデータ バインド コントロールに表示されるデータ フィールドを表します。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
実装

この機能の実行時のコード例を参照してください。を実行します。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

クラスは、コントロールGridViewDetailsViewコントロールなどのデータバインドコントロールによって、カスタムページの ASP.NET 動的データ機能を使用するフィールド値を表示するために使用されます。 DynamicFieldThe 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 、オブジェクトは、 ConvertEmptyStringToNullプロパティをに設定するtrueことによって、空の文字列 ("") フィールド値を null 値に自動的に変換することもできます。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 オブジェクトに格納されているすべての Web サーバー コントロールのスタイルを取得します。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

データ フィールド値を DynamicField オブジェクトに表示する前に HTML エンコードするかどうかを示す値を取得または設定します。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.

適用対象

こちらもご覧ください