TableRowCollection.GetEnumerator 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
返回一个实现了 IEnumerator 的对象,该对象包含 TableRow 内的所有 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
返回
一个实现了 IEnumerator 的对象,该对象包含 TableRow 内的所有 TableRowCollection 对象。
实现
示例
以下示例演示如何使用 GetEnumerator 方法创建一个 System.Collections.IEnumerator 实现的对象,该对象通过循环访问来显示表中的项。
<%@ 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>
注解
使用此方法创建一个 System.Collections.IEnumerator 实现的对象,该对象可以轻松循环访问以获取 中的每个 TableRowCollection项。
IEnumerator.Current使用 属性获取集合中当前指向的项。
IEnumerator.MoveNext使用 方法移动到集合中的下一项。
IEnumerator.Reset使用 方法将枚举器移回初始位置。
注意
IEnumerator.MoveNext创建实现的对象或使用 IEnumerator.Reset 方法将枚举器移动到集合中的第一项后System.Collections.IEnumerator,必须调用 方法。 否则,由 属性表示的 IEnumerator.Current 项未定义。