다음을 통해 공유


TableRowCollection.GetEnumerator 메서드

정의

IEnumerator에 모든 TableRow 개체를 포함하는 구현된 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

반환

IEnumerator에 모든 TableRow 개체를 포함하는 구현된 TableRowCollection 개체를 반환합니다.

구현

예제

다음 예제에서는 사용 하는 GetEnumerator 방법을 보여 줍니다는 구현 된 개체를 만드는 System.Collections.IEnumerator 메서드를 반복 되는 테이블의 항목을 표시 합니다.

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

설명

이 메서드를 사용하여 에서 각 항목을 TableRowCollection쉽게 가져올 수 있는 구현된 개체를 만듭니 System.Collections.IEnumerator 다.

사용 된 IEnumerator.Current 컬렉션에서 항목을 현재 가져올 속성을 지정 합니다.

사용 된 IEnumerator.MoveNext 컬렉션의 다음 항목으로 이동 하는 방법입니다.

사용 된 IEnumerator.Reset 열거자를 이동 하는 메서드를 처음 위치로 다시 합니다.

참고

IEnumerator.MoveNext 구현된 개체를 만들거나 메서드를 System.Collections.IEnumerator 사용하여 컬렉션의 IEnumerator.Reset 첫 번째 항목으로 열거자를 이동한 후 메서드를 호출해야 합니다. 항목을 표시 하는 고, 그렇지는 IEnumerator.Current 속성 정의 되지 않습니다.

적용 대상

추가 정보