DataKeyArray.GetEnumerator Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Retourneert een enumerator die alle DataKey objecten in de verzameling bevat.
public:
virtual System::Collections::IEnumerator ^ GetEnumerator();
public System.Collections.IEnumerator GetEnumerator();
abstract member GetEnumerator : unit -> System.Collections.IEnumerator
override this.GetEnumerator : unit -> System.Collections.IEnumerator
Public Function GetEnumerator () As IEnumerator
Retouren
Een IEnumerator-geïmplementeerd object dat alle DataKey objecten in de verzameling bevat.
Implementeringen
Voorbeelden
In het volgende codevoorbeeld ziet u hoe u de opsomming kunt herhalen die door de GetEnumerator methode is gemaakt.
<%@ 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 CustomerGridView_DataBound(Object sender, EventArgs e)
{
// Use the Count property to determine whether the
// DataKeys collection contains any items.
if (CustomerGridView.DataKeys.Count > 0)
{
MessageLabel.Text = "The primary key of each record displayed are: <br/><br/>";
// Use the GetEnumerator method to create an enumerator that
// contains the DataKey objects for the GridView control.
IEnumerator keyEnumerator = CustomerGridView.DataKeys.GetEnumerator();
// Iterate though the enumerator and display the primary key
// value of each record displayed.
while (keyEnumerator.MoveNext())
{
DataKey key = (DataKey)keyEnumerator.Current;
MessageLabel.Text += key.Value.ToString() + "<br/>";
}
}
else
{
MessageLabel.Text = "No DataKey objects.";
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>DataKeyArray Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DataKeyArray Example</h3>
<asp:gridview id="CustomerGridView"
datasourceid="CustomerDataSource"
autogeneratecolumns="true"
datakeynames="CustomerID"
allowpaging="true"
ondatabound="CustomerGridView_DataBound"
runat="server">
</asp:gridview>
<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="CustomerDataSource"
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 CustomerGridView_DataBound(ByVal sender As Object, ByVal e As EventArgs) Handles CustomerGridView.DataBound
' Use the Count property to determine whether the
' DataKeys collection contains any items.
If CustomerGridView.DataKeys.Count > 0 Then
MessageLabel.Text = "The primary key of each record displayed are: <br/><br/>"
' Use the GetEnumerator method to create an enumerator that
' contains the DataKey objects for the GridView control.
Dim keyEnumerator As IEnumerator = CustomerGridView.DataKeys.GetEnumerator()
' Iterate though the enumerator and display the primary key
' value of each record displayed.
While keyEnumerator.MoveNext()
Dim key As DataKey = CType(keyEnumerator.Current, DataKey)
MessageLabel.Text &= key.Value.ToString() & "<br/>"
End While
Else
MessageLabel.Text = "No DataKey objects."
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>DataKeyArray Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>DataKeyArray Example</h3>
<asp:gridview id="CustomerGridView"
datasourceid="CustomerDataSource"
autogeneratecolumns="true"
datakeynames="CustomerID"
allowpaging="true"
runat="server">
</asp:gridview>
<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="CustomerDataSource"
selectcommand="Select [CustomerID], [CompanyName], [Address], [City], [PostalCode], [Country] From [Customers]"
connectionstring="<%$ ConnectionStrings:NorthWindConnectionString%>"
runat="server"/>
</form>
</body>
</html>
Opmerkingen
Gebruik de GetEnumerator methode om een enumerator op te halen die lineair kan worden doorlopen om toegang te krijgen tot elk item in de verzameling. Gebruik de IEnumerator.Current eigenschap om toegang te krijgen tot het item op de huidige positie in de enumerator. Gebruik de IEnumerator.MoveNext methode om naar het volgende item in de verzameling te gaan. Gebruik de methode om de enumerator naar de IEnumerator.Reset oorspronkelijke positie te verplaatsen.
Note
Wanneer u de enumerator in eerste instantie opkrijgt of de IEnumerator.Reset methode gebruikt om de enumerator naar het eerste item in de verzameling te verplaatsen, moet u de IEnumerator.MoveNext methode aanroepen. Anders is het item dat wordt vertegenwoordigd door de IEnumerator.Current eigenschap niet gedefinieerd.