次の方法で共有


DataKey クラス

定義

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

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
実装

次のコード例は、オブジェクトのプロパティを使用して、コントロール内DetailsViewのレコードの主キー値を決定する方法をValueDataKey示しています。


<%@ 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 クラスは、データ バインド コントロール内のレコードの主キーを表すために使用されます。 レコードの主キーは、データ ソースの他のフィールドの 1 つで構成できます。 DataKeyクラスはコレクションではありませんが、複数のキー フィールド値を格納できます。 クラスのコンストラクターのいずれかが呼び出されると、キー フィールドの値が DataKey 設定されます。 オブジェクトからキー フィールド値を DataKey 取得する方法は次のとおりです。

  • このプロパティを DataKey.Item[Int32] 使用して、オブジェクト内の特定のインデックスにあるキー フィールド値を DataKey 取得します。

  • プロパティを DataKey.Item[String] 使用して、特定のフィールドのキー フィールド値を取得します。

  • このプロパティを Value 使用して、オブジェクトのインデックス 0 にあるキー フィールドの値を DataKey 取得します。 このプロパティは、主キーにフィールドが 1 つだけ含まれている場合に、レコードのキー値を取得するためのショートカットとしてよく使用されます。

  • このプロパティを Values 使用して、キー フィールド値を IOrderedDictionary 反復処理するために使用できるオブジェクトを作成します。

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

コンストラクター

DataKey(IOrderedDictionary)

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

DataKey(IOrderedDictionary, String[])

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

プロパティ

IsTrackingViewState

DataKey オブジェクトがビューステートの変更を追跡しているかどうかを示す値を取得します。

Item[Int32]

DataKey オブジェクト内の指定したインデックス位置にあるキー フィールドの値を取得します。

Item[String]

指定したフィールド名を持つキー フィールドの値を DataKey オブジェクトから取得します。

Value

DataKey オブジェクト内のインデックス 0 にあるキー フィールドの値を取得します。

Values

IOrderedDictionary オブジェクト内のすべてのキー フィールドに格納されている DataKey オブジェクトを取得します。

メソッド

Equals(DataKey)

指定した DataKey 配列が、現在のデータ キーと等しいかどうかを判断します。

Equals(Object)

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

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
LoadViewState(Object)

以前に保存した DataKey オブジェクトのビューステートを読み込みます。

MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
SaveViewState()

DataKey オブジェクトの現在のビューステートを保存します。

ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)
TrackViewState()

DataKey オブジェクトに対するビューステートの変更の追跡と保存を始める開始点にマークを付けます。

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

IStateManager.IsTrackingViewState

DataKey オブジェクトがビューステートの変更を追跡しているかどうかを示す値を取得します。

IStateManager.LoadViewState(Object)

以前に保存した DataKey オブジェクトのビューステートを読み込みます。

IStateManager.SaveViewState()

DataKey オブジェクトの現在のビューステートを保存します。

IStateManager.TrackViewState()

DataKey オブジェクトに対するビューステートの変更の追跡と保存を始める開始点にマークを付けます。

適用対象

こちらもご覧ください