GridView.DataKeys 属性

定义

获取一个 DataKey 对象集合,这些对象表示 GridView 控件中的每一行的数据键值。Gets a collection of DataKey objects that represent the data key value of each row in a GridView control.

public:
 virtual property System::Web::UI::WebControls::DataKeyArray ^ DataKeys { System::Web::UI::WebControls::DataKeyArray ^ get(); };
[System.ComponentModel.Browsable(false)]
public virtual System.Web.UI.WebControls.DataKeyArray DataKeys { get; }
[<System.ComponentModel.Browsable(false)>]
member this.DataKeys : System.Web.UI.WebControls.DataKeyArray
Public Overridable ReadOnly Property DataKeys As DataKeyArray

属性值

DataKeyArray

一个 DataKeyArray,其中包含 GridView 控件中每一行的数据键。A DataKeyArray that contains the data key of each row in a GridView control.

属性

示例

下面的示例演示如何使用 DataKeys 属性来确定控件中的所选行的数据键值 GridViewThe following example demonstrates how to use the DataKeys property to determine the data key value of the selected row in a GridView control.


<%@ 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 CustomersGridView_SelectedIndexChanged(Object sender, EventArgs e)
  {
    
    // Determine the index of the selected row.
    int index = CustomersGridView.SelectedIndex;
        
    // Display the primary key value of the selected row.
    Message.Text = "The primary key value of the selected row is " +
        CustomersGridView.DataKeys[index].Value.ToString() + ".";
    
  }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>GridView DataKeys Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>GridView DataKeys Example</h3>

      <asp:label id="Message"
        forecolor="Red"
        runat="server"/>
               
      <br/><br/>

      <asp:gridview id="CustomersGridView" 
        datasourceid="CustomersSource" 
        autogeneratecolumns="true"
        emptydatatext="No data available." 
        autogenerateselectbutton="true"    
        datakeynames="CustomerID"
        onselectedindexchanged="CustomersGridView_SelectedIndexChanged"
        runat="server">
                
      </asp:gridview>
            
      <!-- 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="CustomersSource"
        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 CustomersGridView_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)
      
    ' Determine the index of the selected row.
    Dim index As Integer = CustomersGridView.SelectedIndex
        
    ' Display the primary key value of the selected row.
    Message.Text = "The primary key value of the selected row is " & _
        CustomersGridView.DataKeys(index).Value.ToString() & "."
    
  End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>GridView DataKeys Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>GridView DataKeys Example</h3>

      <asp:label id="Message"
        forecolor="Red"
        runat="server"/>
               
      <br/><br/>

      <asp:gridview id="CustomersGridView" 
        datasourceid="CustomersSource" 
        autogeneratecolumns="true"
        emptydatatext="No data available." 
        autogenerateselectbutton="true"    
        datakeynames="CustomerID"
        onselectedindexchanged="CustomersGridView_SelectedIndexChanged"
        runat="server">
                
      </asp:gridview>
            
      <!-- 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="CustomersSource"
        selectcommand="Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]"
        connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>" 
        runat="server"/>
        
    </form>
  </body>
</html>

注解

DataKeyNames设置属性后, GridView 控件将自动 DataKey 为控件中的每一行创建一个对象。When the DataKeyNames property is set, the GridView control automatically creates a DataKey object for each row in the control. DataKey对象包含属性中指定的一个或多个字段的值 DataKeyNamesThe DataKey object contains the values of the field or fields specified in the DataKeyNames property. 然后,将 DataKey 对象添加到控件的 DataKeys 集合中。The DataKey objects are then added to the control's DataKeys collection. 使用 DataKeys 属性可检索 DataKey 控件中特定数据行的对象 GridViewUse the DataKeys property to retrieve the DataKey object for a specific data row in the GridView control.

备注

您可以使用 SelectedDataKey 属性来检索 DataKey 当前所选行的对象。You can use the SelectedDataKey property to retrieve the DataKey object for the currently selected row. 你还可以使用 SelectedValue 属性直接检索当前所选行的数据键值。You can also use the SelectedValue property to retrieve the data key value for the currently selected row directly.

适用于

另请参阅