DataKeyとは? わかりやすく解説

DataKey クラス

メモ : このクラスは、.NET Framework version 2.0 で新しく追加されたものです。

データ バインド コントロール内のレコードの 1 つまたは複数の主キー フィールドを表します。

名前空間: System.Web.UI.WebControls
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public Class DataKey
    Implements IStateManager
public class DataKey : IStateManager
public ref class DataKey : IStateManager
public class DataKey implements IStateManager
public class DataKey implements IStateManager
解説解説

DataKey クラスは、データ バインド コントロール内のレコードの主キーを表すために使用されます。レコードの主キーは、データ ソースの 1 つ以上のフィールドで構成できます。DataKey クラスはコレクションではありませんが、キー フィールドの値を複数格納できます。DataKey クラスのコンストラクタの 1 つが呼び出されると、キー フィールドの値が代入されます。DataKey オブジェクトからキー フィールドの値を取得する方法は、次のとおりです。

通常、DataKey オブジェクトは、データ バインド コントロールの DataKeyNames プロパティが設定されている場合にそのコントロールによって自動生成されます。DataKey オブジェクトには、DataKeyNames プロパティ内で指定された 1 つ以上のキー フィールドの値が格納されます。一度に 1 つのレコードだけを表示するデータ バインド コントロール (DetailsView または FormView など) には、通常、そのコントロールの DataKey プロパティ内に現在表示されているレコードの DataKey オブジェクトが格納されます。一度に複数のレコードを表示するデータ バインド コントロール (GridView など) には、通常、DataKeyArray コレクション内にあるこのコントロールの各レコードの DataKey オブジェクトが格納されます。その後、DataKeyArray コレクションがコントロールの DataKeys プロパティに格納されます。

使用例使用例

DataKey オブジェクトの Value プロパティを使用して DetailsView コントロール内のレコードの主キーの値を確認するコード例を次に示します。

<%@ Page language="VB" %>

<script runat="server">

  Sub CustomerDetailsView_DataBound(ByVal sender
 As Object, ByVal e As
 EventArgs) Handles CustomerDetailsView.DataBound

    ' Get the DataKey object for the current record.
    Dim key As DataKey = CustomerDetailsView.DataKey
    
    ' Display the the value of the key field.
    MessageLabel.Text = "The key field value for the displayed
 record is " & _
      key.Value.ToString() & "."
    
  End Sub
  
</script>

<html>

  <body>
    <form runat="server">
        
      <h3>DataKey Example</h3>
                       
        <asp:detailsview id="CustomerDetailsView"
          datasourceid="DetailsViewSource"
          autogeneraterows="true"
          datakeynames="CustomerID"  
          allowpaging="true"
          runat="server">
            
        </asp:detailsview>
        
        <br/>
        
        <asp:label id="MessageLabel"
          forecolor="Red"
          runat="server"/>
            
        <!-- This example uses Microsoft SQL Server and connects
  -->
        <!-- to the Northwind sample database. Use an ASP.NET
     -->
        <!-- expression to retrieve the connection string
 value   -->
        <!-- from the Web.config file.                            -->
        <asp:sqldatasource id="DetailsViewSource"
          selectcommand="Select [CustomerID], [CompanyName], [Address],
 [City], [PostalCode], [Country] From [Customers]"
          connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>"
 
          runat="server"/>
            
      </form>
  </body>
</html>

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

<script runat="server">

  void CustomerDetailsView_DataBound(Object sender, EventArgs
 e)
  {
    // Get the DataKey object for the current record.
    DataKey key = CustomerDetailsView.DataKey;
    
    // Display the the value of the key field.
    MessageLabel.Text = "The key field value for the displayed
 record is " + 
      key.Value.ToString() + ".";
  }
  
</script>

<html>

  <body>
    <form runat="server">
        
      <h3>DataKey Example</h3>
                       
        <asp:detailsview id="CustomerDetailsView"
          datasourceid="DetailsViewSource"
          autogeneraterows="true"
          datakeynames="CustomerID"  
          allowpaging="true"
          ondatabound="CustomerDetailsView_DataBound" 
          runat="server">
            
        </asp:detailsview>
        
        <br/>
        
        <asp:label id="MessageLabel"
          forecolor="Red"
          runat="server"/>
            
        <!-- This example uses Microsoft SQL Server and connects  -->
        <!-- to the Northwind sample database. Use an ASP.NET     -->
        <!-- expression to retrieve the connection string value
   -->
        <!-- from the Web.config file.                            -->
        <asp:sqldatasource id="DetailsViewSource"
          selectcommand="Select [CustomerID], [CompanyName], [Address], [City],
 [PostalCode], [Country] From [Customers]"
          connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>"
 
          runat="server"/>
            
      </form>
  </body>
</html>

.NET Framework のセキュリティ.NET Framework のセキュリティ
継承階層継承階層
System.Object
  System.Web.UI.WebControls.DataKey
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
DataKey メンバ
System.Web.UI.WebControls 名前空間
DataKeyArray
DetailsView.DataKey
FormView.DataKey
GridView.DataKeys
Values
Item
Value

DataKey コンストラクタ (IOrderedDictionary, String[])

メモ : このコンストラクタは、.NET Framework version 2.0 で新しく追加されたものです。

キー フィールドの値のディクショナリとフィールド名の配列を指定して、DataKey クラスの新しいインスタンスを初期化します。

名前空間: System.Web.UI.WebControls
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public Sub New ( _
    keyTable As IOrderedDictionary, _
    keyNames As String() _
)
Dim keyTable As IOrderedDictionary
Dim keyNames As String()

Dim instance As New DataKey(keyTable,
 keyNames)
public DataKey (
    IOrderedDictionary keyTable,
    string[] keyNames
)
public:
DataKey (
    IOrderedDictionary^ keyTable, 
    array<String^>^ keyNames
)
public DataKey (
    IOrderedDictionary keyTable, 
    String[] keyNames
)
public function DataKey (
    keyTable : IOrderedDictionary, 
    keyNames : String[]
)

パラメータ

keyTable

キー フィールドの値を格納している IOrderedDictionary。

keyNames

キー フィールドの名前を格納する文字列の配列。

解説解説
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
DataKey クラス
DataKey メンバ
System.Web.UI.WebControls 名前空間
IOrderedDictionary

DataKey コンストラクタ

DataKey クラスの新しいインスタンスを初期化します。
オーバーロードの一覧オーバーロードの一覧

名前 説明
DataKey (IOrderedDictionary) キー フィールドの値のディクショナリを指定して、DataKey クラスの新しいインスタンスを初期化します。
DataKey (IOrderedDictionary, String[]) キー フィールドの値のディクショナリとフィールド名の配列を指定して、DataKey クラスの新しいインスタンスを初期化します。
参照参照

関連項目

DataKey クラス
DataKey メンバ
System.Web.UI.WebControls 名前空間
IOrderedDictionary

DataKey コンストラクタ (IOrderedDictionary)

メモ : このコンストラクタは、.NET Framework version 2.0 で新しく追加されたものです。

キー フィールドの値のディクショナリを指定して、DataKey クラスの新しいインスタンスを初期化します。

名前空間: System.Web.UI.WebControls
アセンブリ: System.Web (system.web.dll 内)
構文構文

Public Sub New ( _
    keyTable As IOrderedDictionary _
)
Dim keyTable As IOrderedDictionary

Dim instance As New DataKey(keyTable)
public DataKey (
    IOrderedDictionary keyTable
)
public:
DataKey (
    IOrderedDictionary^ keyTable
)
public DataKey (
    IOrderedDictionary keyTable
)
public function DataKey (
    keyTable : IOrderedDictionary
)

パラメータ

keyTable

キー フィールドの値を格納している IOrderedDictionary。

解説解説

このコンストラクタを使用し、キー フィールドの値のディクショナリを指定して DataKey クラスの新しいインスタンスを作成します。keyTable パラメータについて渡される IOrderedDictionary オブジェクトに格納されているフィールド値は、DataKey オブジェクトに代入されます。

メモメモ

このバージョンのコンストラクタでは、DataKey オブジェクトのフィールド名リストをあらかじめ指定できません。フィールド名があらかじめ指定されていないため、フィールドの名前と値の両方がビューステートに格納されます。フィールド名のリストをあらかじめ指定するには、DataKey(IOrderedDictionary,String[]) コンストラクタを使用します。

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
DataKey クラス
DataKey メンバ
System.Web.UI.WebControls 名前空間
IOrderedDictionary

DataKey プロパティ


パブリック プロパティパブリック プロパティ

プロテクト プロパティプロテクト プロパティ
  名前 説明
プロテクト プロパティ IsTrackingViewState DataKey オブジェクトがビューステートの変更を追跡しているかどうかを示す値を取得します。
明示的インターフェイスの実装明示的インターフェイスの実装
  名前 説明
インターフェイスの明示的な実装 System.Web.UI.IStateManager.IsTrackingViewState DataKey オブジェクトがビューステートの変更を追跡しているかどうかを示す値を取得します。
参照参照

関連項目

DataKey クラス
System.Web.UI.WebControls 名前空間
DataKeyArray
DetailsView.DataKey
FormView.DataKey
GridView.DataKeys
Values
Item
Value

DataKey メソッド


パブリック メソッドパブリック メソッド

プロテクト メソッドプロテクト メソッド
明示的インターフェイスの実装明示的インターフェイスの実装
  名前 説明
インターフェイスの明示的な実装 System.Web.UI.IStateManager.LoadViewState 以前に保存した DataKey オブジェクトのビューステートを読み込みます。
インターフェイスの明示的な実装 System.Web.UI.IStateManager.SaveViewState DataKey オブジェクトの現在のビューステートを保存します。
インターフェイスの明示的な実装 System.Web.UI.IStateManager.TrackViewState DataKey オブジェクトに対するビューステートの変更の追跡と保存を始める開始点にマークを付けます。
参照参照

関連項目

DataKey クラス
System.Web.UI.WebControls 名前空間
DataKeyArray
DetailsView.DataKey
FormView.DataKey
GridView.DataKeys
Values
Item
Value

DataKey メンバ

データ バインド コントロール内のレコードの 1 つまたは複数の主キー フィールドを表します。

DataKey データ型で公開されるメンバを以下の表に示します。


パブリック コンストラクタパブリック コンストラクタ
パブリック プロパティパブリック プロパティ
プロテクト プロパティプロテクト プロパティ
  名前 説明
プロテクト プロパティ IsTrackingViewState DataKey オブジェクトがビューステートの変更を追跡しているかどうかを示す値を取得します。
パブリック メソッドパブリック メソッド
プロテクト メソッドプロテクト メソッド
明示的インターフェイスの実装明示的インターフェイスの実装
  名前 説明
インターフェイスの明示的な実装 System.Web.UI.IStateManager.LoadViewState 以前に保存した DataKey オブジェクトのビューステートを読み込みます。
インターフェイスの明示的な実装 System.Web.UI.IStateManager.SaveViewState DataKey オブジェクトの現在のビューステートを保存します。
インターフェイスの明示的な実装 System.Web.UI.IStateManager.TrackViewState DataKey オブジェクトに対するビューステートの変更の追跡と保存を始める開始点にマークを付けます。
インターフェイスの明示的な実装 System.Web.UI.IStateManager.IsTrackingViewState DataKey オブジェクトがビューステートの変更を追跡しているかどうかを示す値を取得します。
参照参照

関連項目

DataKey クラス
System.Web.UI.WebControls 名前空間
DataKeyArray
DetailsView.DataKey
FormView.DataKey
GridView.DataKeys
Values
Item
Value



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「DataKey」の関連用語

DataKeyのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



DataKeyのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS