次の方法で共有


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 実装オブジェクト。

実装

IEnumerable.GetEnumerator

解説

このメソッドを使用して、 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