GridViewRowCollection.GetEnumerator Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Restituisce un enumeratore contenente tutti gli oggetti GridViewRow presenti nell'oggetto GridViewRowCollection.
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
Restituisce
Un oggetto implementato IEnumerator contenente tutti gli oggetti GridViewRow presenti nell'oggetto GridViewRowCollection.
Implementazioni
Esempio
Nell'esempio seguente viene illustrato come utilizzare il GetEnumerator metodo per recuperare un enumeratore contenente i valori della raccolta. L'enumeratore viene iterato e i valori della prima cella vengono visualizzati nella pagina.
<%@ 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 AuthorsGridView_RowCreated(Object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Footer)
{
Message.Text = "The authors are:<br />";
// Get the enumerator that contains the data rows in the
// GridView control.
IEnumerator rowEnumerator = AuthorsGridView.Rows.GetEnumerator();
// Iterate though the enumerator and display the value in the
// first cell of the row.
while(rowEnumerator.MoveNext())
{
GridViewRow row = (GridViewRow)rowEnumerator.Current;
Message.Text += row.Cells[0].Text + "<br />";
}
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>GridViewRowCollection GetEnumerator Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>GridViewRowCollection GetEnumerator Example</h3>
<table>
<tr>
<td>
<asp:gridview id="AuthorsGridView"
datasourceid="AuthorsSqlDataSource"
autogeneratecolumns="false"
onrowcreated="AuthorsGridView_RowCreated"
runat="server">
<columns>
<asp:boundfield datafield="au_lname"
headertext="Last Name"/>
<asp:boundfield datafield="au_fname"
headertext="First Name"/>
</columns>
</asp:gridview>
</td>
<td>
<asp:label id="Message"
forecolor="Red"
runat="server"/>
</td>
</tr>
</table>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the Pubs sample database. -->
<asp:sqldatasource id="AuthorsSqlDataSource"
selectcommand="SELECT [au_lname], [au_fname] FROM [authors] WHERE [state]='CA'"
connectionstring="server=localhost;database=pubs;integrated security=SSPI"
runat="server">
</asp:sqldatasource>
</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 AuthorsGridView_RowCreated(ByVal sender As Object, ByVal e As GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.Footer Then
Message.Text = "The authors are:<br />"
' Get the enumerator that contains the data rows in the
' GridView control.
Dim rowEnumerator As IEnumerator = AuthorsGridView.Rows.GetEnumerator()
' Iterate though the enumerator and display the value in the
' first cell of the row.
While rowEnumerator.MoveNext()
Dim row As GridViewRow = CType(rowEnumerator.Current, GridViewRow)
Message.Text &= row.Cells(0).Text & "<br />"
End While
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>GridViewRowCollection GetEnumerator Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>GridViewRowCollection GetEnumerator Example</h3>
<table>
<tr>
<td>
<asp:gridview id="AuthorsGridView"
datasourceid="AuthorsSqlDataSource"
autogeneratecolumns="false"
onrowcreated="AuthorsGridView_RowCreated"
runat="server">
<columns>
<asp:boundfield datafield="au_lname"
headertext="Last Name"/>
<asp:boundfield datafield="au_fname"
headertext="First Name"/>
</columns>
</asp:gridview>
</td>
<td>
<asp:label id="Message"
forecolor="Red"
runat="server"/>
</td>
</tr>
</table>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the Pubs sample database. -->
<asp:sqldatasource id="AuthorsSqlDataSource"
selectcommand="SELECT [au_lname], [au_fname] FROM [authors] WHERE [state]='CA'"
connectionstring="server=localhost;database=pubs;integrated security=SSPI"
runat="server">
</asp:sqldatasource>
</form>
</body>
</html>
Commenti
Utilizzare questo metodo per ottenere un enumeratore che può essere iterato in modo lineare per accedere a ogni elemento in GridViewRowCollection. Per accedere all'elemento nella posizione corrente nell'enumeratore, utilizzare la IEnumerator.Current proprietà . Utilizzare il IEnumerator.MoveNext metodo per passare all'elemento successivo nell'insieme. Per spostare l'enumeratore nella posizione iniziale, utilizzare il IEnumerator.Reset metodo .
Nota
Quando si ottiene inizialmente l'enumeratore o si usa il IEnumerator.Reset metodo per spostare l'enumeratore nel primo elemento della raccolta, è necessario chiamare il IEnumerator.MoveNext metodo . In caso contrario, l'elemento rappresentato dalla IEnumerator.Current proprietà non è definito.