Freigeben über


DataGridColumnCollection.GetEnumerator-Methode

Gibt eine System.Collections.IEnumerator-Schnittstelle zurück, die alle von DataGridColumn abgeleiteten Spaltenobjekte in der DataGridColumnCollection-Auflistung enthält.

Namespace: System.Web.UI.WebControls
Assembly: System.Web (in system.web.dll)

Syntax

'Declaration
Public Function GetEnumerator As IEnumerator
'Usage
Dim instance As DataGridColumnCollection
Dim returnValue As IEnumerator

returnValue = instance.GetEnumerator
public IEnumerator GetEnumerator ()
public:
virtual IEnumerator^ GetEnumerator () sealed
public final IEnumerator GetEnumerator ()
public final function GetEnumerator () : IEnumerator

Rückgabewert

Eine System.Collections.IEnumerator-Schnittstelle, die alle von DataGridColumn abgeleiteten Spaltenobjekte in DataGridColumnCollection enthält.

Hinweise

Mit dieser Methode können Sie eine System.Collections.IEnumerator-Schnittstelle erstellen, die schnell durchlaufen werden kann, um alle Elemente in der DataGridColumnCollection-Auflistung abzurufen.

Mit der IEnumerator.Current-Eigenschaft können Sie das Element der Auflistung abrufen, auf das momentan gezeigt wird.

Mit der IEnumerator.MoveNext-Methode können Sie zum nächsten Element in der Auflistung wechseln.

Mit der IEnumerator.Reset-Methode verschieben Sie den Enumerator an die Anfangsposition.

Hinweis

Die IEnumerator.MoveNext-Methode muss aufgerufen werden, nachdem ein System.Collections.IEnumerator-Objekt erstellt oder der Enumerator mit der IEnumerator.Reset-Methode zum ersten Element in der Auflistung verschoben wurde. Andernfalls ist das durch die IEnumerator.Current-Eigenschaft dargestellte Element nicht definiert.

Beispiel

Im folgenden Codebeispiel wird veranschaulicht, wie Sie mit der GetEnumerator-Methode eine System.Collections.IEnumerator-Schnittstelle erstellen, die zum Anzeigen des Inhalts der DataGridColumnCollection-Auflistung durchlaufen werden kann.

<%@ Page Language="VB" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
<html>
   <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>
 
<body>
 
   <form 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>

      <p>

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

      <p>

      <asp:Label id="Label1"
           runat="server"/>    
 
   </form>
 
</body>
</html>
<%@ Page Language="C#" AutoEventWireup="True" %>
<%@ Import Namespace="System.Data" %>
 
<html>
   <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>
 
<body>
 
   <form 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>

      <p>

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

      <p>

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

Plattformen

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

Siehe auch

Referenz

DataGridColumnCollection-Klasse
DataGridColumnCollection-Member
System.Web.UI.WebControls-Namespace
System.Collections.IEnumerator
DataGridColumn-Klasse