DataGridColumnCollection.GetEnumerator DataGridColumnCollection.GetEnumerator DataGridColumnCollection.GetEnumerator DataGridColumnCollection.GetEnumerator Method

定義

IEnumerator コレクションのすべての DataGridColumn 派生列オブジェクトを含む DataGridColumnCollection インターフェイスを返します。Returns a IEnumerator interface that contains all the DataGridColumn-derived column objects in the DataGridColumnCollection collection.

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 のすべての DataGridColumn 派生列オブジェクトを含む DataGridColumnCollection インターフェイス。A IEnumerator interface that contains all DataGridColumn-derived column objects in the DataGridColumnCollection.

実装

次のコード例では、 GetEnumeratorメソッドを使用して、反復処理できるインターフェイスをSystem.Collections.IEnumerator作成し、 DataGridColumnCollectionコレクションの内容を表示する方法を示します。The following code example demonstrates how to use the GetEnumerator method to create a System.Collections.IEnumerator interface that can be iterated though to display the contents of the DataGridColumnCollection collection.

<%@ 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取得するために簡単に反復処理できるインターフェイスを作成するには、このメソッドを使用します。 DataGridColumnCollectionUse this method to create a System.Collections.IEnumerator interface that can be iterated through easily to get each item in the DataGridColumnCollection collection.

コレクション内IEnumerator.Currentで現在ポイントされている項目を取得するには、プロパティを使用します。Use the IEnumerator.Current property to get the item currently pointed to in the collection.

IEnumerator.MoveNextメソッドを使用して、コレクション内の次の項目に移動します。Use the IEnumerator.MoveNext method to move to the next item in the collection.

IEnumerator.Resetメソッドを使用して、列挙子を初期位置に移動します。Use the IEnumerator.Reset method to move the enumerator to the initial position.

注意

メソッドは、オブジェクトのSystem.Collections.IEnumerator作成後IEnumerator.Reset 、またはメソッドを使用して列挙子をコレクション内の最初の項目に移動した後に呼び出す必要があります。 IEnumerator.MoveNextThe IEnumerator.MoveNext method must be called after creating a System.Collections.IEnumerator object, or after using the IEnumerator.Reset method to move the enumerator to the first item in the collection. それ以外の場合、 IEnumerator.Currentプロパティによって表される項目は定義されません。Otherwise, the item represented by the IEnumerator.Current property is undefined.

適用対象

こちらもご覧ください