次の方法で共有


TableRowCollection.GetEnumerator メソッド

TableRowCollection 内の、すべての TableRow オブジェクトを格納している System.Collections.IEnumerator 実装オブジェクトを返します。

名前空間: System.Web.UI.WebControls
アセンブリ: System.Web (system.web.dll 内)

構文

'宣言
Public Function GetEnumerator As IEnumerator
'使用
Dim instance As TableRowCollection
Dim returnValue As IEnumerator

returnValue = instance.GetEnumerator
public IEnumerator GetEnumerator ()
public:
virtual IEnumerator^ GetEnumerator () sealed
public final IEnumerator GetEnumerator ()
public final function GetEnumerator () : IEnumerator
適用できません。

戻り値

TableRowCollection のすべての TableRow オブジェクトを格納している System.Collections.IEnumerator 実装オブジェクト。

解説

このメソッドを使用して、TableRowCollection の各項目を取得するときに簡単に反復処理できる System.Collections.IEnumerator 実装オブジェクトを作成します。

IEnumerator.Current プロパティを使用して、コレクション内で現在ポインタが指している項目を取得します。

IEnumerator.MoveNext メソッドを使用して、コレクション内の次の項目に移動します。

IEnumerator.Reset メソッドを使用して、列挙子を初期の位置に戻します。

メモメモ :

IEnumerator.MoveNext メソッドは、System.Collections.IEnumerator 実装オブジェクトを作成した後、または IEnumerator.Reset メソッドを使用した後、列挙子をコレクションの最初の項目に移動するときに呼び出す必要があります。このメソッドを呼び出さないと、IEnumerator.Current プロパティで表される項目は未定義になります。

使用例

GetEnumerator メソッドを使用して、テーブルに項目を表示するときに反復処理される System.Collections.IEnumerator 実装オブジェクトの作成方法を次の例に示します。

<%@ 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 />&nbsp;<br />
        <asp:Button id="Button1"
            Text="Copy Table to Array"
            OnClick="Button_Click"
            runat="server"/>
        <br />&nbsp;<br />
        <asp:Label id="Label1" runat="server" />
    </div>
    </form>
</body>
</html>
<%@ 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 />&nbsp;<br />
        <asp:Button id="Button1"
            Text="Copy Table to Array"
            OnClick="Button_Click"
            runat="server"/>
        <br />&nbsp;<br />
        <asp:Label id="Label1" runat="server"/>
    </div>
    </form>
</body>
</html>

プラットフォーム

Windows 98,Windows Server 2000 SP4,Windows CE,Windows Millennium Edition,Windows Mobile for Pocket PC,Windows Mobile for Smartphone,Windows Server 2003,Windows XP Media Center Edition,Windows XP Professional x64 Edition,Windows XP SP2,Windows XP Starter Edition

Microsoft .NET Framework 3.0 は Windows Vista,Microsoft Windows XP SP2,および Windows Server 2003 SP1 でサポートされています。

バージョン情報

.NET Framework

サポート対象 : 3.0,2.0,1.1,1.0

参照

関連項目

TableRowCollection クラス
TableRowCollection メンバ
System.Web.UI.WebControls 名前空間
System.Collections.IEnumerator
TableRow
IEnumerator.Current
IEnumerator.MoveNext
IEnumerator.Reset

その他の技術情報

Table、TableRow、TableCell の各 Web サーバー コントロール