DetailsViewRowCollection.GetEnumerator Methode

Definition

Gibt einen Enumerator zurück, der alle DetailsViewRow-Objekte im DetailsViewRowCollection-Objekt enthält.Returns an enumerator that contains all DetailsViewRow objects in the DetailsViewRowCollection object.

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

Gibt zurück

IEnumerator

Ein implementiertes IEnumerator-Objekt, das alle DetailsViewRow-Objekte in der DetailsViewRowCollection enthält.An IEnumerator-implemented object that contains all DetailsViewRow objects in the DetailsViewRowCollection.

Implementiert

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie die-Methode verwendet wird GetEnumerator , um einen Enumerator abzurufen, der die Elemente aus der Auflistung enthält.The following code example demonstrates how to use the GetEnumerator method to retrieve an enumerator that contains the items from the collection. Der Enumerator wird dann durchlaufen, und der Wert jeder Zeile wird auf der Seite angezeigt.The enumerator is then iterated through and the value of each row is displayed on the page.


<%@ 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 SubmitButton_Click(Object sender, EventArgs e)
  {

    // Use the Count property to determine whether the
    // Rows collection contains any item.
    if (ItemDetailsView.Rows.Count > 0)
    {

      MessageLabel.Text = "The row values are: <br/><br/>";

      // Get the enumerator that contains the data rows in the 
      // DetailsView control.
      IEnumerator rowEnumerator = ItemDetailsView.Rows.GetEnumerator();

      // Iterate though the enumerator and display the field values.
      while (rowEnumerator.MoveNext())
      {
        DetailsViewRow row = (DetailsViewRow)rowEnumerator.Current;

        // Use the Text property to access the value of 
        // each cell. In this example, the cells in the 
        // first column (index 0) contains the field names, 
        // while the cells in the second column (index 1)
        // contains the field value. 
        MessageLabel.Text += row.Cells[0].Text + " = " +
          row.Cells[1].Text + "<br/>";
      }

    }
    else
    {
      MessageLabel.Text = "No items.";
    }

  }
  
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>DetailsViewRowCollection GetEnumerator Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>DetailsViewRowCollection GetEnumerator Example</h3>
  
      <asp:detailsview id="ItemDetailsView"
        datasourceid="DetailsViewSource"
        allowpaging="true"
        autogeneraterows="false" 
        runat="server">
        <fields>
          <asp:boundfield datafield="CustomerID"
            headertext="Customer ID"/>
          <asp:boundfield datafield="CompanyName"
            headertext="Company Name"/>
          <asp:boundfield datafield="Address"
            headertext="Address"/>
          <asp:boundfield datafield="City"
            headertext="City"/>
          <asp:boundfield datafield="PostalCode"
            headertext="ZIP Code"/>
          <asp:boundfield datafield="Country"
            headertext="Country"/>
        </fields>
      </asp:detailsview>
      
      <br/>
      
      <asp:button id="SubmitButton" 
        text="Display Row Values"
        onclick="SubmitButton_Click"
        runat="server"/>
        
      <br/><br/>
      
      <asp:label id="MessageLabel"
        forecolor="Red"
        runat="server"/>
      
      <!-- This example uses Microsoft SQL Server and connects  -->
      <!-- to the Northwind sample database. Use an ASP.NET     -->
      <!-- expression to retrieve the connection string value   -->
      <!-- from the web.config file.                            -->
      <asp:sqldatasource id="DetailsViewSource"
        selectcommand="Select [CustomerID], [CompanyName], [Address], 
          [City], [PostalCode], [Country] From [Customers]"
        connectionstring=
          "<%$ ConnectionStrings:NorthWindConnectionString%>" 
        runat="server"/>  
  
    </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 SubmitButton_Click(ByVal sender As Object, ByVal e As EventArgs)

    ' Use the Count property to determine whether the
    ' Rows collection contains any item.
    If ItemDetailsView.Rows.Count > 0 Then

      MessageLabel.Text = "The row values are: <br/><br/>"

      ' Get the enumerator that contains the data rows in the 
      ' DetailsView control.
      Dim rowEnumerator As IEnumerator = ItemDetailsView.Rows.GetEnumerator()

      ' Iterate though the enumerator and display the field values.
      While rowEnumerator.MoveNext()
 
        Dim row As DetailsViewRow = CType(rowEnumerator.Current, DetailsViewRow)

        ' Use the Text property to access the value of 
        ' each cell. In this example, the cells in the 
        ' first column (index 0) contains the field names, 
        ' while the cells in the second column (index 1)
        ' contains the field value. 
        MessageLabel.Text &= row.Cells(0).Text & " = " & _
          row.Cells(1).Text & "<br/>"
      
      End While
    
    Else
    
      MessageLabel.Text = "No items."
        
    End If

  End Sub
  
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>DetailsViewRowCollection GetEnumerator Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>DetailsViewRowCollection GetEnumerator Example</h3>
  
      <asp:detailsview id="ItemDetailsView"
        datasourceid="DetailsViewSource"
        allowpaging="true"
        autogeneraterows="false" 
        runat="server">
        <fields>
          <asp:boundfield datafield="CustomerID"
            headertext="Customer ID"/>
          <asp:boundfield datafield="CompanyName"
            headertext="Company Name"/>
          <asp:boundfield datafield="Address"
            headertext="Address"/>
          <asp:boundfield datafield="City"
            headertext="City"/>
          <asp:boundfield datafield="PostalCode"
            headertext="ZIP Code"/>
          <asp:boundfield datafield="Country"
            headertext="Country"/>
        </fields>
      </asp:detailsview>
      
      <br/>
      
      <asp:button id="SubmitButton" 
        text="Display Row Values"
        onclick="SubmitButton_Click"
        runat="server"/>
        
      <br/><br/>
      
      <asp:label id="MessageLabel"
        forecolor="Red"
        runat="server"/>
      
      <!-- This example uses Microsoft SQL Server and connects  -->
      <!-- to the Northwind sample database. Use an ASP.NET     -->
      <!-- expression to retrieve the connection string value   -->
      <!-- from the web.config file.                            -->
      <asp:sqldatasource id="DetailsViewSource"
        selectcommand="Select [CustomerID], [CompanyName], [Address], 
          [City], [PostalCode], [Country] From [Customers]"
        connectionstring=
          "<%$ ConnectionStrings:NorthWindConnectionString%>" 
        runat="server"/>  
  
    </form>
  </body>
</html>

Hinweise

Verwenden Sie diese Methode, um einen Enumerator zu erhalten, der durch linear durchlaufen werden kann, um auf die einzelnen Elemente im DetailsViewRowCollection Objekt zuzugreifen.Use this method to get an enumerator that can be iterated through linearly to access each item in the DetailsViewRowCollection object. Verwenden Sie die-Eigenschaft, um an der aktuellen Position im Enumerator auf das Element zuzugreifen Current .To access the item at the current position in the enumerator, use the Current property. Verwenden Sie die- MoveNext Methode, um zum nächsten Element in der Auflistung zu wechseln.Use the MoveNext method to move to the next item in the collection. Um den Enumerator an seine ursprüngliche Position zu verschieben, verwenden Sie die- Reset Methode.To move the enumerator to its initial position, use the Reset method.

Hinweis

Wenn Sie den Enumerator anfänglich abrufen oder die-Methode verwenden, Reset um den Enumerator auf das erste Element in der Auflistung zu verschieben, müssen Sie die- MoveNext Methode verwenden.When you initially get the enumerator or use the Reset method to move the enumerator to the first item in the collection, you must call the MoveNext method. Andernfalls ist das durch die-Eigenschaft dargestellte Element nicht Current definiert.Otherwise, the item represented by the Current property is undefined.

Gilt für:

Siehe auch