DataKey クラス

定義

データ バインド コントロール内の主キー フィールドまたはレコードのフィールドを表します。Represents the primary key field or fields of a record in a data-bound control.

public ref class DataKey : System::Web::UI::IStateManager
public ref class DataKey : IEquatable<System::Web::UI::WebControls::DataKey ^>, System::Web::UI::IStateManager
public class DataKey : System.Web.UI.IStateManager
public class DataKey : IEquatable<System.Web.UI.WebControls.DataKey>, System.Web.UI.IStateManager
type DataKey = class
    interface IStateManager
type DataKey = class
    interface IStateManager
    interface IEquatable<DataKey>
Public Class DataKey
Implements IStateManager
Public Class DataKey
Implements IEquatable(Of DataKey), IStateManager
継承
DataKey
実装

次のコード例は、DataKey オブジェクトの Value プロパティを使用して、DetailsView コントロール内のレコードの主キーの値を確認する方法を示しています。The following code example demonstrates how to determine the primary key value of a record in a DetailsView control using the Value property of a DataKey object.


<%@ 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">

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

<html xmlns="http://www.w3.org/1999/xhtml" >

  <head runat="server">
    <title>DataKey Example</title>
</head>
<body>
    <form id="form1" 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>


<%@ 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">

  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 value of the key field.
    MessageLabel.Text = "The key field value for the displayed record is " & _
      key.Value.ToString() & "."
    
  End Sub
  
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >

  <head runat="server">
    <title>DataKey Example</title>
</head>
<body>
    <form id="form1" 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>

注釈

DataKey クラスは、データバインドコントロール内のレコードの主キーを表すために使用されます。The DataKey class is used to represent the primary key for a record in a data-bound control. レコードの主キーは、データソースの1つ以上のフィールドで構成できます。The primary key for a record can be composed of one of more fields from the data source. DataKey クラスはコレクションではありませんが、複数のキーフィールド値を格納することができます。Although the DataKey class is not a collection, it can store multiple key field values. DataKey クラスのコンストラクターの1つが呼び出されると、キーフィールドの値が設定されます。The key field values are populated when one of the constructors for the DataKey class is called. DataKey オブジェクトからキーフィールド値を取得するには、次の方法があります。You can retrieve a key field value from a DataKey object in the following ways:

  • DataKey オブジェクト内の特定のインデックス位置にあるキーフィールド値を取得するには、DataKey.Item[Int32] プロパティを使用します。Use the DataKey.Item[Int32] property to retrieve a key field value at a specific index in the DataKey object.

  • 特定のフィールドのキーフィールド値を取得するには、DataKey.Item[String] プロパティを使用します。Use the DataKey.Item[String] property to retrieve a key field value of a specific field.

  • Value プロパティを使用して、DataKey オブジェクトのインデックス0にあるキーフィールドの値を取得します。Use the Value property to retrieve the value of the key field at index 0 in the DataKey object. このプロパティは、主キーに1つのフィールドしか含まれていない場合に、レコードのキー値を取得するショートカットとしてよく使用されます。This property is often used as a shortcut to retrieve the key value of a record when the primary key contains only one field.

  • Values プロパティを使用して、キーフィールド値を反復処理するために使用できる IOrderedDictionary オブジェクトを作成します。Use the Values property to create an IOrderedDictionary object that can be used to iterate through the key field values.

一般に、DataKey オブジェクトは、コントロールの DataKeyNames プロパティが設定されている場合に、データバインドコントロールによって自動的に生成されます。In general, DataKey objects are automatically generated by data-bound controls when the control's DataKeyNames property is set. DataKey オブジェクトには、DataKeyNames プロパティで指定されたキーフィールドの値が含まれています。The DataKey objects contain the values of the key field or fields specified in the DataKeyNames property. 一度に1つのレコードを表示するデータバインドコントロール (DetailsViewFormViewなど) は、通常、コントロールの DataKey プロパティに表示される現在のレコードの DataKey オブジェクトを格納します。Data-bound controls that display a single record at a time (such as DetailsView or FormView) generally store the DataKey object for the current record displayed in the DataKey property of the control. 複数のレコードを同時に表示するデータバインドコントロール (GridViewなど) は、通常、DataKeyArray コレクション内のコントロールの各レコードの DataKey オブジェクトを格納します。Data-bound controls that display multiple records at a time (such as GridView) generally store the DataKey objects for each record in the control in a DataKeyArray collection. DataKeyArray コレクションは、コントロールの DataKeys プロパティに格納されます。The DataKeyArray collection is then stored in the DataKeys property of the control.

コンストラクター

DataKey(IOrderedDictionary)

キー フィールドの値のディクショナリを指定して、DataKey クラスの新しいインスタンスを初期化します。Initializes a new instance of the DataKey class using the specified dictionary of key field values.

DataKey(IOrderedDictionary, String[])

キー フィールドの値のディクショナリとフィールド名の配列を指定して、DataKey クラスの新しいインスタンスを初期化します。Initializes a new instance of the DataKey class using the specified dictionary of key field values and array of field names.

プロパティ

IsTrackingViewState

DataKey オブジェクトがビューステートの変更を追跡しているかどうかを示す値を取得します。Gets a value indicating whether the DataKey object is tracking its view-state changes.

Item[Int32]

DataKey オブジェクト内の指定したインデックス位置にあるキー フィールドの値を取得します。Gets the value of the key field at the specified index from a DataKey object.

Item[String]

指定したフィールド名を持つキー フィールドの値を DataKey オブジェクトから取得します。Gets the value of the key field with the specified field name from a DataKey object.

Value

DataKey オブジェクト内のインデックス 0 にあるキー フィールドの値を取得します。Gets the value of the key field at index 0 in the DataKey object.

Values

IOrderedDictionary オブジェクト内のすべてのキー フィールドに格納されている DataKey オブジェクトを取得します。Gets an IOrderedDictionary object that contains every key field in the DataKey object.

メソッド

Equals(DataKey)

指定した DataKey 配列が、現在のデータ キーと等しいかどうかを判断します。Determines whether the specified DataKey array is equal to the current data key.

Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
LoadViewState(Object)

以前に保存した DataKey オブジェクトのビューステートを読み込みます。Loads the previously saved view state of the DataKey object.

MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
SaveViewState()

DataKey オブジェクトの現在のビューステートを保存します。Saves the current view state of the DataKey object.

ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(継承元 Object)
TrackViewState()

DataKey オブジェクトに対するビューステートの変更の追跡と保存を始める開始点にマークを付けます。Marks the starting point at which to begin tracking and saving view-state changes to the DataKey object.

明示的なインターフェイスの実装

IStateManager.IsTrackingViewState

DataKey オブジェクトがビューステートの変更を追跡しているかどうかを示す値を取得します。Gets a value indicating whether the DataKey object is tracking its view-state changes.

IStateManager.LoadViewState(Object)

以前に保存した DataKey オブジェクトのビューステートを読み込みます。Loads the previously saved view state of the DataKey object.

IStateManager.SaveViewState()

DataKey オブジェクトの現在のビューステートを保存します。Saves the current view state of the DataKey object.

IStateManager.TrackViewState()

DataKey オブジェクトに対するビューステートの変更の追跡と保存を始める開始点にマークを付けます。Marks the starting point at which to begin tracking and saving view-state changes to the DataKey object.

適用対象

こちらもご覧ください