DataKey.Values Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets an IOrderedDictionary object that contains every key field in the DataKey object.
public:
virtual property System::Collections::Specialized::IOrderedDictionary ^ Values { System::Collections::Specialized::IOrderedDictionary ^ get(); };
public virtual System.Collections.Specialized.IOrderedDictionary Values { get; }
member this.Values : System.Collections.Specialized.IOrderedDictionary
Public Overridable ReadOnly Property Values As IOrderedDictionary
Property Value
An IOrderedDictionary that contains every key field in the DataKey.
Examples
The following code example demonstrates how to iterate through the IOrderedDictionary object returned by the Values property.
<%@ 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)
{
// Retrieve the IOrderedDictionary object that contains the key field values.
IOrderedDictionary allKeysDictionary = CustomerDetailsView.DataKey.Values;
// Display the value of the key fields.
MessageLabel.Text = "The key field values for the displayed record are: <br/><br/>";
foreach (DictionaryEntry entry in allKeysDictionary)
{
MessageLabel.Text += "Key=" + entry.Key.ToString() +
", Value=" + entry.Value.ToString() + "<br/>";
}
}
</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, CompanyName, PostalCode"
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
' Retrieve the IOrderedDictionary object that contains the key field values.
Dim allKeysDictionary As IOrderedDictionary = CustomerDetailsView.DataKey.Values
' Display the value of the key fields.
MessageLabel.Text = "The key field values for the displayed record are: <br/><br/>"
' In Visual Basic, the DictionaryEntry objects contained in the
' allKeysDictionary object must be copied to an array before
' you can iterate through the items.
Dim allKeysArray(allKeysDictionary.Count - 1) As DictionaryEntry
allKeysDictionary.CopyTo(allKeysArray, 0)
Dim entry As DictionaryEntry
For Each entry In allKeysArray
MessageLabel.Text &= "Key=" & entry.Key.ToString() & _
", Value=" & entry.Value.ToString() & "<br/>"
Next
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, CompanyName, PostalCode"
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>
Remarks
Use the Values property to retrieve an IOrderedDictionary object that contains every key field in the DataKey object. The IOrderedDictionary object is often used to iterate through the key fields of a record.