次の方法で共有


DynamicField クラス

定義

ASP.NET Dynamic Data 機能を使用するデータ バインド コントロールに表示されるデータ フィールドを表します。

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 カスタマイズする。

オブジェクトは DynamicField 、コントロールを使用して各フィールドを DynamicControl レンダリングします。 オブジェクトに表示 DynamicField するデータ フィールドを指定するには、プロパティを DataField フィールド名に設定します。 プロパティを設定することで、フィールド値にカスタム書式指定文字列を DataFormatString 適用できます。 既定では、データ バインド コントロールが読み取り専用モードの場合にのみ、書式設定文字列がフィールド値に適用されます。 データ バインド コントロールが編集モードの間に表示される値に書式設定文字列を適用するには、プロパティを ApplyFormatInEditModetrue設定します。 フィールド値が指定されている場合は 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 オブジェクトに格納されているすべての Web サーバー コントロールのスタイルを取得します。

(継承元 DataControlField)
ConvertEmptyStringToNull

データ ソースのデータ フィールドを更新するときに、空の文字列値 ("") を null 値に自動的に変換するかどうかを示す値を取得または設定します。

DataField

DynamicField オブジェクトのバインド先のデータ フィールドの名前を取得または設定します。

DataFormatString

データ フィールドの値の表示形式を指定する文字列を取得または設定します。

DesignMode

デザイン時環境で、現在データ コントロール フィールドが表示されているかどうかを示す値を取得します。

(継承元 DataControlField)
FooterStyle

データ コントロール フィールドのフッターのスタイルを取得または設定します。

(継承元 DataControlField)
FooterText

データ コントロール フィールドのフッター項目に表示されるテキストを取得または設定します。

(継承元 DataControlField)
HeaderImageUrl

データ コントロール フィールドのヘッダー項目に表示されるイメージの URL を取得または設定します。

(継承元 DataControlField)
HeaderStyle

データ コントロール フィールドのヘッダーのスタイルを取得または設定します。

(継承元 DataControlField)
HeaderText

DynamicField オブジェクトを含むデータ バインド コントロールのヘッダーに表示されるテキストを取得または設定します。

HtmlEncode

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

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)

指定された書式指定オプションに基づいて、指定されたフィールド値の書式を設定します。

適用対象

こちらもご覧ください