This documentation is archived and is not being maintained.

TableRowCollection.GetEnumerator Method

Returns an System.Collections.IEnumerator implemented object that contains all TableRow objects within the TableRowCollection.

[Visual Basic]
Public Overridable Function GetEnumerator() As IEnumerator _
   Implements IEnumerable.GetEnumerator
[C#]
public virtual IEnumerator GetEnumerator();
[C++]
public: virtual IEnumerator* GetEnumerator();
[JScript]
public function GetEnumerator() : IEnumerator;

Return Value

A System.Collections.IEnumerator implemented object that contains all TableRow objects within the TableRowCollection.

Implements

IEnumerable.GetEnumerator

Remarks

Use this method to create a System.Collections.IEnumerator implemented object that can be iterated through easily to get each item in the TableRowCollection.

Use the IEnumerator.Current property to get the item currently pointed to in the collection.

Use the IEnumerator.MoveNext method to move to the next item in the collection.

Use the IEnumerator.Reset method to move the enumerator back to the initial position.

Note   The IEnumerator.MoveNext method must be called after creating a System.Collections.IEnumerator implemented object or using the IEnumerator.Reset method to move the enumerator to the first item in the collection. Otherwise, the item represented by the IEnumerator.Current property is undefined.

Example

[Visual Basic, C#] The following example demonstrates how to use the GetEnumerator method to create a System.Collections.IEnumerator implemented object that is iterated through to display the items in the table.

[Visual Basic] 
<%@ 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
    End Sub     

    Sub Button_Click(sender As Object, e As EventArgs)
        
        Dim row_counter As Integer = 0
        Dim current_row As TableRow
        Dim current_cell As TableCell
        
        ' Create an IEnumerator for the rows of the table.
        Dim myRowEnum As IEnumerator = Table1.Rows.GetEnumerator()
        
        Label1.Text = "The copied items from the table are: "
        
        ' 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(row_counter).Cells.GetEnumerator()
            
            ' Iterate through the IEnumerator and display its contents.
            While myCellEnum.MoveNext()
                
                current_cell = CType(myCellEnum.Current, TableCell)
                Label1.Text = Label1.Text & " " & current_cell.Text

            End While 
            
            row_counter += 1
        End While 
    End Sub
 
    </script>
 
 </head>
 
 <body>
 
    <h3>TableCellCollection Example</h3>
    <form runat=server>
       <asp:Table id="Table1" 
            runat="server"/>
       <br><br>
       <center>
          <asp:Button id="Button1"
               Text="Copy Table to Array"
               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);
          }
         
       }
 
    void Button_Click(object sender, EventArgs e) {
 
       int row_counter = 0;
       TableRow current_row;
       TableCell current_cell;
 
       // Create an IEnumerator for the rows of a table.
       IEnumerator myRowEnum = Table1.Rows.GetEnumerator();
 
       Label1.Text = "The copied items from the table are: ";
 
       // Iterate through the IEnumerator and display its contents.
       while (myRowEnum.MoveNext()) {
 
          // Create an IEnumerator for the cells of the row.
          IEnumerator myCellEnum = Table1.Rows[row_counter].Cells.GetEnumerator(); 
          
          // Iterate through the IEnumerator and display its contents.
          while (myCellEnum.MoveNext()) {
          
             current_cell = (TableCell)myCellEnum.Current;
             Label1.Text = Label1.Text + " " + current_cell.Text;
 
          }
       
          row_counter++;
 
       }
      
    }
 
    </script>
 
 </head>
 
 <body>
 
    <h3>TableCellCollection Example</h3>
    <form runat=server>
       <asp:Table id="Table1" 
            runat="server"/>
       <br><br>
       <center>
          <asp:Button id="Button1"
               Text="Copy Table to Array"
               OnClick="Button_Click"
               runat="server"/>
          <br><br>
          <asp:Label id="Label1"
               runat="server"/>
 
       </center>
 
    </form>
 
 </body>
 </html>
 

[C++, JScript] No example is available for C++ or JScript. To view a Visual Basic or C# example, click the Language Filter button Language Filter in the upper-left corner of the page.

Requirements

Platforms: Windows 2000, Windows XP Professional, Windows Server 2003 family

See Also

TableRowCollection Class | TableRowCollection Members | System.Web.UI.WebControls Namespace | System.Collections.IEnumerator | TableRow | IEnumerator.Current | IEnumerator.MoveNext | IEnumerator.Reset

Show: