TableRowCollection.GetEnumerator Metodo

Definizione

Restituisce un oggetto implementato IEnumerator che contiene tutti gli oggetti TableRow all'interno di 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

Restituisce

Un oggetto implementato IEnumerator che contiene tutti gli oggetti TableRow all'interno di TableRowCollection.

Implementazioni

Esempio

Nell'esempio seguente viene illustrato come utilizzare il GetEnumerator metodo per creare un System.Collections.IEnumerator oggetto implementato sottoposto a iterazione per visualizzare gli elementi nella tabella.

<%@ 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>

Commenti

Utilizzare questo metodo per creare un System.Collections.IEnumerator oggetto implementato che può essere iterato facilmente per ottenere ogni elemento in TableRowCollection.

Utilizzare la IEnumerator.Current proprietà per ottenere l'elemento a cui punta attualmente nell'insieme.

Utilizzare il IEnumerator.MoveNext metodo per passare all'elemento successivo nell'insieme.

Usare il IEnumerator.Reset metodo per spostare nuovamente l'enumeratore nella posizione iniziale.

Nota

Il IEnumerator.MoveNext metodo deve essere chiamato dopo la creazione di un System.Collections.IEnumerator oggetto implementato o l'utilizzo del IEnumerator.Reset metodo per spostare l'enumeratore nel primo elemento della raccolta. In caso contrario, l'elemento rappresentato dalla IEnumerator.Current proprietà non è definito.

Si applica a

Vedi anche