TableCellCollection.GetEnumerator Método

Definição

Retorna um objeto implementado IEnumerator que contém todos os objetos TableCell no TableCellCollection.

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

Retornos

Um objeto implementado IEnumerator que contém todos os objetos TableCell no TableCellCollection.

Implementações

Exemplos

O exemplo a seguir demonstra como usar o GetEnumerator método para criar um System.Collections.IEnumerator objeto implementado. Em seguida, ele é iterado para exibir os itens na linha selecionada.

<%@ Page Language="C#" %>

<!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);
        }

        if (!IsPostBack)
        {

            // Create a DropDownList for the number of rows.
            for (int rowNum = 0; rowNum < numrows; rowNum++)
            {
                a_row.Add(rowNum.ToString());
            }

            List1.DataSource = a_row;
            List1.DataBind();

        }
    }

    void Button_Click(object sender, EventArgs e)
    {

        int rowNum = List1.SelectedIndex;
        TableCell current_cell;

        // Create the IEnumerator.
        IEnumerator myEnum = Table1.Rows[rowNum].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>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>

    <h3>TableCellCollection Example</h3>
    <asp:Table id="Table1" runat="server" />
    <br />&nbjsp;<br />
    <p style="text-align:center">
        Select a row:
        <br />&nbjsp;<br />
        Row: <asp:DropDownList id="List1" 
            runat="server"/>

        <br />&nbjsp;<br />
        <asp:Button id="Button1"
             Text="Create IEnumerator"
             OnClick="Button_Click"
             runat="server" />
        <br />&nbjsp;<br />
        <asp:Label id="Label1" runat="server"/>
    </p>

    </div>
    </form>
</body>
</html>
<%@ Page Language="VB" %>

<!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
            Table1.Rows.Add(rw)
        Next
        
        If Not IsPostBack Then
            
            ' Create a DropDownList for the number of rows.
            For rowNum = 0 To numRows - 1
                a_row.Add(rowNum.ToString())
            Next
            
            List1.DataSource = a_row
            List1.DataBind()
        End If
    End Sub

    Sub Button_Click(ByVal sender As Object, ByVal 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>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>

    <h3>TableCellCollection Example</h3>
    <asp:Table id="Table1" runat="server" />
    <br />&nbjsp;<br />
    <p style="text-align:center">
        Select a row:
        <br />&nbjsp;<br />
        Row: <asp:DropDownList id="List1" 
            runat="server"/>

        <br />&nbjsp;<br />
        <asp:Button id="Button1"
             Text="Create IEnumerator"
             OnClick="Button_Click"
             runat="server" />
        <br />&nbjsp;<br />
        <asp:Label id="Label1" runat="server"/>
    </p>

    </div>
    </form>
</body>
</html>

Comentários

Use esse método para criar um System.Collections.IEnumerator objeto implementado que pode ser iterado facilmente para obter cada item no TableCellCollection.

Use a IEnumerator.Current propriedade para obter o item apontado atualmente na coleção.

Use o IEnumerator.MoveNext método para mover para o próximo item na coleção.

Use o IEnumerator.Reset método para mover o enumerador de volta para a posição inicial.

Observação

O IEnumerator.MoveNext método deve ser chamado depois de criar um System.Collections.IEnumerator objeto implementado ou depois de usar o IEnumerator.Reset método para mover o enumerador para o primeiro item da coleção. Caso contrário, o item representado pela IEnumerator.Current propriedade é indefinido.

Aplica-se a

Confira também