共用方式為


DataGridColumnCollection.GetEnumerator 方法

定義

傳回 IEnumerator 介面,包含 DataGridColumn 集合中所有 DataGridColumnCollection 衍生資料行物件。

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

IEnumerator 介面,包含 DataGridColumn 中所有 DataGridColumnCollection 衍生資料行物件。

實作

範例

下列程式碼範例示範如何使用 GetEnumerator 方法來建立 System.Collections.IEnumerator 可逐一查看的介面,以顯示集合的內容 DataGridColumnCollection

<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
   <script language="C#" runat="server">
 
      ICollection CreateDataSource() 
      {
         DataTable dt = new DataTable();
         DataRow dr;
 
         dt.Columns.Add(new DataColumn("IntegerValue", typeof(Int32)));
         dt.Columns.Add(new DataColumn("StringValue", typeof(string)));
         dt.Columns.Add(new DataColumn("CurrencyValue", typeof(double)));
 
         for (int i = 0; i < 9; i++) 
         {
            dr = dt.NewRow();
   
            dr[0] = i;
            dr[1] = "Item " + i.ToString();
            dr[2] = 1.23 * (i + 1);
 
            dt.Rows.Add(dr);
         }
 
         DataView dv = new DataView(dt);
         return dv;
      }
 
      void Page_Load(Object sender, EventArgs e) 
      {
 
         if (!IsPostBack) 
         {
            // Load this data only once.
            ItemsGrid.DataSource= CreateDataSource();
            ItemsGrid.DataBind();
         }

      }

       void Button_Click(Object sender, EventArgs e) 
      {

         // Create IEnumerator for rows.
         IEnumerator myEnum = ItemsGrid.Columns.GetEnumerator();
         DataGridColumn column;
 
         Label1.Text = "The header text of the items in the IEnumerator are: <br /><br />";
 
         // Iterate through IEnumerator and display its contents.
         while (myEnum.MoveNext()) 
         {

            column = (DataGridColumn)myEnum.Current;
            Label1.Text += column.HeaderText + "<br />";

         }

      } 
   
   </script>
 
<head runat="server">
    <title>DataGridColumnCollection GetEnumerator Example</title>
</head>
<body>
 
   <form id="form1" runat="server">
 
      <h3>DataGridColumnCollection GetEnumerator Example</h3>
 
      <b>Product List</b>
 
      <asp:DataGrid id="ItemsGrid"
           BorderColor="black"
           BorderWidth="1"
           CellPadding="3"
           AutoGenerateColumns="false"
           runat="server">

         <HeaderStyle BackColor="#00aaaa">
         </HeaderStyle>
 
         <Columns>
                  
            <asp:BoundColumn 
                 HeaderText="Item Number" 
                 DataField="IntegerValue"/>
 
            <asp:BoundColumn 
                 HeaderText="Item" 
                 DataField="StringValue"/>
 
            <asp:BoundColumn 
                 HeaderText="Price" 
                 DataField="CurrencyValue" 
                 DataFormatString="{0:c}">

               <ItemStyle HorizontalAlign="right">
               </ItemStyle>

            </asp:BoundColumn>
 
         </Columns>
   
      </asp:DataGrid>

      <br />

      <asp:Button id="Button1"
           Text="Create IEnumerator"
           OnClick="Button_Click"
           runat="server"/>

      <br />

      <asp:Label id="Label1"
           runat="server"/>    
 
   </form>
 
</body>
</html>
<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
   <script language="VB" runat="server">
 
        Function CreateDataSource() As ICollection
            Dim dt As New DataTable()
            Dim dr As DataRow
            
            dt.Columns.Add(New DataColumn("IntegerValue", GetType(Int32)))
            dt.Columns.Add(New DataColumn("StringValue", GetType(String)))
            dt.Columns.Add(New DataColumn("CurrencyValue", GetType(Double)))
            
            Dim i As Integer
            For i = 0 To 8
                dr = dt.NewRow()
                
                dr(0) = i
                dr(1) = "Item " & i.ToString()
                dr(2) = 1.23 *(i + 1)
                
                dt.Rows.Add(dr)
            Next i
            
            Dim dv As New DataView(dt)
            Return dv
        End Function 'CreateDataSource


        Sub Page_Load(sender As Object, e As EventArgs)
            
            If Not IsPostBack Then

                ' Load this data only once.
                ItemsGrid.DataSource = CreateDataSource()
                ItemsGrid.DataBind()

            End If
        End Sub 'Page_Load
         

        Sub Button_Click(sender As Object, e As EventArgs)
            
            ' Create IEnumerator for rows.
            Dim myEnum As IEnumerator = ItemsGrid.Columns.GetEnumerator()
            Dim column As DataGridColumn
            
            Label1.Text = "The header text of the items in the IEnumerator are: <br /><br />"  
            
            ' Iterate through IEnumerator and display its contents.
            While myEnum.MoveNext()
                
                column = CType(myEnum.Current, DataGridColumn)
                Label1.Text &= column.HeaderText & "<br />"
            End While 

        End Sub 'Button_Click
   
   </script>
 
<head runat="server">
    <title>DataGridColumnCollection GetEnumerator Example</title>
</head>
<body>
 
   <form id="form1" runat="server">
 
      <h3>DataGridColumnCollection GetEnumerator Example</h3>
 
      <b>Product List</b>
 
      <asp:DataGrid id="ItemsGrid"
           BorderColor="black"
           BorderWidth="1"
           CellPadding="3"
           AutoGenerateColumns="false"
           runat="server">

         <HeaderStyle BackColor="#00aaaa">
         </HeaderStyle>
 
         <Columns>
                  
            <asp:BoundColumn 
                 HeaderText="Item Number" 
                 DataField="IntegerValue"/>
 
            <asp:BoundColumn 
                 HeaderText="Item" 
                 DataField="StringValue"/>
 
            <asp:BoundColumn 
                 HeaderText="Price" 
                 DataField="CurrencyValue" 
                 DataFormatString="{0:c}">

               <ItemStyle HorizontalAlign="right">
               </ItemStyle>

            </asp:BoundColumn>
 
         </Columns>
   
      </asp:DataGrid>

      <br />

      <asp:Button id="Button1"
           Text="Create IEnumerator"
           OnClick="Button_Click"
           runat="server"/>

      <br />

      <asp:Label id="Label1"
           runat="server"/>    
 
   </form>
 
</body>
</html>

備註

使用這個方法來建立介面,以便輕鬆地逐一 System.Collections.IEnumerator 查看集合中的每個 DataGridColumnCollection 專案。

IEnumerator.Current使用 屬性來取得集合中目前指向的專案。

IEnumerator.MoveNext使用 方法移至集合中的下一個專案。

IEnumerator.Reset使用 方法將列舉值移至初始位置。

注意

IEnumerator.MoveNext建立 物件之後,或使用 方法將列舉值移至集合中的第一個專案之後 System.Collections.IEnumerator IEnumerator.Reset ,必須呼叫 方法。 否則,屬性所表示的專案是 IEnumerator.Current 未定義的。

適用於

另請參閱