TableCellCollection.GetEnumerator メソッド
TableCellCollection 内の、すべての TableCell オブジェクトを格納している System.Collections.IEnumerator 実装オブジェクトを返します。
Public Overridable Function GetEnumerator() As IEnumerator _ Implements IEnumerable.GetEnumerator
[C#]
public virtual IEnumerator GetEnumerator();
[C++]
public: virtual IEnumerator* GetEnumerator();
[JScript]
public function GetEnumerator() : IEnumerator;
戻り値
TableCellCollection のすべての TableCell オブジェクトを格納している System.Collections.IEnumerator 実装オブジェクト。
実装
解説
このメソッドを使用して、 TableCellCollection の各項目を取得するときに簡単に反復処理できる System.Collections.IEnumerator 実装オブジェクトを作成します。
IEnumerator.Current プロパティを使用して、コレクション内で現在ポインタが指している項目を取得します。
IEnumerator.MoveNext メソッドを使用して、コレクション内の次の項目に移動します。
IEnumerator.Reset メソッドを使用して、列挙子を初期の位置に戻します。
メモ IEnumerator.MoveNext メソッドは、 System.Collections.IEnumerator 実装オブジェクトを作成した後、または IEnumerator.Reset メソッドを使用した後、列挙子をコレクションの最初の項目に移動するときに呼び出す必要があります。そうしないと、 IEnumerator.Current プロパティで表される項目は未定義になります。
使用例
[Visual Basic, C#] GetEnumerator メソッドを使用して、 System.Collections.IEnumerator 実装オブジェクトを作成する方法を次の例に示します。作成したオブジェクトを反復処理し、選択されている行の項目を表示します。
<%@ Page Language="VB" AutoEventWireup="True" %>
<html>
<head>
<script runat="server">
Sub Page_Load(sender As Object, 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 j As Integer
For j = 0 To numrows - 1
Dim r As New TableRow()
Dim i As Integer
For i = 0 To numcells - 1
Dim c As New TableCell()
c.Text = counter.ToString()
r.Cells.Add(c)
counter += 1
Next i
Table1.Rows.Add(r)
Next j
If Not IsPostBack Then
' Create a DropDownList for the number of rows.
Dim k As Integer
For k = 0 To numrows - 1
a_row.Add(k.ToString())
Next k
List1.DataSource = a_row
List1.DataBind()
End If
End Sub
Sub Button_Click(sender As Object, e As EventArgs)
Dim row As Integer = List1.SelectedIndex
Dim current_cell As TableCell
' Create the IEnumerator.
Dim myEnum As IEnumerator = Table1.Rows(row).Cells.GetEnumerator()
Label1.Text = "The items in the selected row are: "
' Iterate through the IEnumerator and display its contents.
While myEnum.MoveNext()
current_cell = CType(myEnum.Current, TableCell)
Label1.Text = Label1.Text & " " & current_cell.Text
End While
End Sub
</script>
</head>
<body>
<h3>TableCellCollection Example</h3>
<form runat=server>
<asp:Table id="Table1"
runat="server"/>
<br><br>
<center>
Select a row:
<br><br>
Row:
<asp:DropDownList id="List1"
runat="server"/>
<br><br>
<asp:Button id="Button1"
Text="Create IEnumerator"
OnClick="Button_Click"
runat="server"/>
<br><br>
<asp:Label id="Label1"
runat="server"/>
</center>
</form>
</body>
</html>
[C#]
<%@ Page Language="C#" AutoEventWireup="True" %>
<html>
<head>
<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 j=0; j<numrows; j++)
{
TableRow r = new TableRow();
for (int i=0; i<numcells; i++)
{
TableCell c = new TableCell();
c.Text=counter.ToString();
r.Cells.Add(c);
counter++;
}
Table1.Rows.Add(r);
}
if (!IsPostBack)
{
// Create a DropDownList for the number of rows.
for (int k=0; k<numrows; k++)
{
a_row.Add(k.ToString());
}
List1.DataSource=a_row;
List1.DataBind();
}
}
void Button_Click(object sender, EventArgs e)
{
int row = List1.SelectedIndex;
TableCell current_cell;
// Create the IEnumerator.
IEnumerator myEnum = Table1.Rows[row].Cells.GetEnumerator();
Label1.Text = "The items in the selected row are: ";
// Iterate through the IEnumerator and display its contents.
while (myEnum.MoveNext())
{
current_cell = (TableCell)myEnum.Current;
Label1.Text = Label1.Text + " " + current_cell.Text;
}
}
</script>
</head>
<body>
<h3>TableCellCollection Example</h3>
<form runat=server>
<asp:Table id="Table1"
runat="server"/>
<br><br>
<center>
Select a row:
<br><br>
Row:
<asp:DropDownList id="List1"
runat="server"/>
<br><br>
<asp:Button id="Button1"
Text="Create IEnumerator"
OnClick="Button_Click"
runat="server"/>
<br><br>
<asp:Label id="Label1"
runat="server"/>
</center>
</form>
</body>
</html>
[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および C# のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 2000, Windows XP Professional, Windows Server 2003 ファミリ
参照
TableCellCollection クラス | TableCellCollection メンバ | System.Web.UI.WebControls 名前空間 | System.Collections.IEnumerator | TableCell | IEnumerator.Current | IEnumerator.MoveNext | IEnumerator.Reset