TableRowCollection.GetEnumerator Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
IEnumerator Vrátí implementovaný objekt, který obsahuje všechny TableRow objekty v rámci objektu TableRowCollection.
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
Návraty
Implementovaný IEnumerator objekt, který obsahuje všechny TableRow objekty v rámci objektu TableRowCollection.
Implementuje
Příklady
Následující příklad ukazuje, jak použít metodu GetEnumerator k vytvoření System.Collections.IEnumerator implementovaného objektu, který se iteruje, aby se zobrazily položky v tabulce.
<%@ 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>
Poznámky
Tuto metodu použijte k vytvoření implementovaného objektu System.Collections.IEnumerator , který lze snadno iterovat a získat tak každou položku v objektu TableRowCollection.
IEnumerator.Current Pomocí vlastnosti získejte položku, na kterou je v kolekci aktuálně odkazovat.
IEnumerator.MoveNext Pomocí metody přejděte na další položku v kolekci.
IEnumerator.Reset Pomocí metody přesuňte enumerátor zpět na počáteční pozici.
Poznámka
Metoda IEnumerator.MoveNext musí být volána po vytvoření System.Collections.IEnumerator implementovaného objektu nebo pomocí IEnumerator.Reset metody k přesunutí enumerátoru na první položku v kolekci. V opačném případě není položka reprezentovaná IEnumerator.Current vlastností definována.