TableRowCollection.GetEnumerator Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt ein implementiertes IEnumerator-Objekt zurück, das alle TableRow-Objekte in der TableRowCollection enthält.
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
Gibt zurück
Ein IEnumerator-implementiertes Objekt, das alle TableRow-Objekte in TableRowCollection enthält.
Implementiert
Beispiele
Im folgenden Beispiel wird veranschaulicht, wie Sie mithilfe der GetEnumerator -Methode ein implementiertes System.Collections.IEnumerator Objekt erstellen, das durchlaufen wird, um die Elemente in der Tabelle anzuzeigen.
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Text" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
void Page_Load(Object sender, EventArgs e)
{
int numRows = 5;
int numCells = 6;
int counter = 1;
ArrayList a_row = new ArrayList();
// Create a table.
for (int rowNum = 0; rowNum < numRows; rowNum++)
{
TableRow rw = new TableRow();
for (int cellNum = 0; cellNum < numCells; cellNum++)
{
TableCell cel = new TableCell();
cel.Text = counter.ToString();
rw.Cells.Add(cel);
counter++;
}
Table1.Rows.Add(rw);
}
}
void Button_Click(object sender, EventArgs e)
{
int rowCounter = 0;
TableCell currentCell;
StringBuilder tb = new StringBuilder();
// Create an IEnumerator for the rows of a table.
IEnumerator myRowEnum = Table1.Rows.GetEnumerator();
tb.Append("The copied items from the table are: <br />");
// Iterate through the IEnumerator and display its contents.
while (myRowEnum.MoveNext())
{
// Create an IEnumerator for the cells of the row.
IEnumerator myCellEnum = Table1.Rows[rowCounter].Cells.GetEnumerator();
// Iterate through the IEnumerator and display its contents.
while (myCellEnum.MoveNext())
{
currentCell = (TableCell)myCellEnum.Current;
tb.Append(currentCell.Text + ", ");
}
rowCounter++;
}
Label1.Text = tb.ToString();
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>TableCellCollection Example</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<h3>TableCellCollection Example</h3>
<asp:Table id="Table1" runat="server"/>
<br /> <br />
<asp:Button id="Button1"
Text="Copy Table to Array"
OnClick="Button_Click"
runat="server"/>
<br /> <br />
<asp:Label id="Label1" runat="server"/>
</div>
</form>
</body>
</html>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Text" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
Dim numRows As Integer = 5
Dim numCells As Integer = 6
Dim counter As Integer = 1
Dim a_row As New ArrayList()
' Create a table.
Dim rowNum As Integer
For rowNum = 0 To numrows - 1
Dim rw As New TableRow()
Dim cellNum As Integer
For cellNum = 0 To numcells - 1
Dim cel As New TableCell()
cel.Text = counter.ToString()
rw.Cells.Add(cel)
counter += 1
Next cellNum
Table1.Rows.Add(rw)
Next rowNum
End Sub
Sub Button_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim rowCounter As Integer = 0
Dim currentCell As TableCell
Dim tb As New StringBuilder
' Create an IEnumerator for the rows of the table.
Dim myRowEnum As IEnumerator = Table1.Rows.GetEnumerator()
tb.Append("The copied items from the table are: <br />")
' Iterate through the IEnumerator and display its contents.
While myRowEnum.MoveNext()
' Create an IEnumerator for the cells of a row.
Dim myCellEnum As IEnumerator = _
Table1.Rows(rowCounter).Cells.GetEnumerator()
' Iterate through the IEnumerator and display its contents.
While myCellEnum.MoveNext()
currentCell = CType(myCellEnum.Current, TableCell)
tb.Append(currentCell.Text & ", ")
End While
Label1.Text = tb.ToString()
rowCounter += 1
End While
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>TableCellCollection Example</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<h3>TableCellCollection Example</h3>
<asp:Table id="Table1" runat="server" />
<br /> <br />
<asp:Button id="Button1"
Text="Copy Table to Array"
OnClick="Button_Click"
runat="server"/>
<br /> <br />
<asp:Label id="Label1" runat="server" />
</div>
</form>
</body>
</html>
Hinweise
Verwenden Sie diese Methode, um ein implementiertes System.Collections.IEnumerator Objekt zu erstellen, das problemlos durchlaufen werden kann, um jedes Element in abzurufen TableRowCollection.
Verwenden Sie die IEnumerator.Current -Eigenschaft, um das Element abzurufen, auf das derzeit in der Auflistung verwiesen wird.
Verwenden Sie die IEnumerator.MoveNext -Methode, um zum nächsten Element in der Auflistung zu wechseln.
Verwenden Sie die IEnumerator.Reset -Methode, um den Enumerator zurück an die Anfangsposition zu verschieben.
Hinweis
Die IEnumerator.MoveNext -Methode muss aufgerufen werden, nachdem sie ein implementiertes System.Collections.IEnumerator Objekt erstellt oder die IEnumerator.Reset -Methode verwendet hat, um den Enumerator auf das erste Element in der Auflistung zu verschieben. Andernfalls ist das durch die IEnumerator.Current -Eigenschaft dargestellte Element nicht definiert.