TableRowCollection.GetEnumerator Méthode

Définition

Retourne un objet implémentant IEnumerator qui contient tous les objets TableRow dans 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

Retours

Objet implémentant IEnumerator qui contient tous les objets TableRow dans TableRowCollection.

Implémente

Exemples

L’exemple suivant montre comment utiliser la GetEnumerator méthode pour créer un System.Collections.IEnumerator objet implémenté qui est itéré à travers pour afficher les éléments dans la table.

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

Remarques

Utilisez cette méthode pour créer un System.Collections.IEnumerator objet implémenté qui peut être itéré facilement afin d’obtenir chaque élément dans le TableRowCollection.

Utilisez la IEnumerator.Current propriété pour obtenir l’élément actuellement pointé vers la collection.

Utilisez la IEnumerator.MoveNext méthode pour passer à l’élément suivant de la collection.

Utilisez la IEnumerator.Reset méthode pour replacer l’énumérateur à la position initiale.

Notes

La IEnumerator.MoveNext méthode doit être appelée après avoir créé un System.Collections.IEnumerator objet implémenté ou utilisé la IEnumerator.Reset méthode pour déplacer l’énumérateur vers le premier élément de la collection. Sinon, l’élément représenté par la IEnumerator.Current propriété n’est pas défini.

S’applique à

Voir aussi