Partager via


DetailsViewRowCollection.CopyTo(DetailsViewRow[], Int32) Méthode

Définition

Copie tous les éléments de cet objet DetailsViewRowCollection vers l'objet Array spécifié, en commençant à l’index spécifié dans Array.

public:
 void CopyTo(cli::array <System::Web::UI::WebControls::DetailsViewRow ^> ^ array, int index);
public void CopyTo (System.Web.UI.WebControls.DetailsViewRow[] array, int index);
member this.CopyTo : System.Web.UI.WebControls.DetailsViewRow[] * int -> unit
Public Sub CopyTo (array As DetailsViewRow(), index As Integer)

Paramètres

array
DetailsViewRow[]

Un élément de base zéro Array qui reçoit les éléments copiés à partir de DetailsViewRowCollection.

index
Int32

Le premier index de l'élément Array spécifié pour recevoir le contenu copié.

Exemples

L’exemple de code suivant montre comment utiliser la CopyTo méthode pour copier les éléments d’un DetailsViewRowCollection objet dans un tableau. Le tableau est ensuite itéré et la valeur de chaque ligne s’affiche sur la 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/>";

      // Copy the items in the Rows collection to an array.
      DetailsViewRow[] rowArray = new DetailsViewRow[ItemDetailsView.Rows.Count];
      ItemDetailsView.Rows.CopyTo(rowArray, 0);

      // Iterate though the array and display the value in the
      // first cell of the row.
      foreach (DetailsViewRow row in rowArray)
      {
        // 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 CopyTo Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>DetailsViewRowCollection CopyTo 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/>"

      ' Copy the items in the Rows collection to an array.
      Dim rowArray(ItemDetailsView.Rows.Count - 1) As DetailsViewRow
      ItemDetailsView.Rows.CopyTo(rowArray, 0)

      ' Iterate though the array and display the value in the
      ' first cell of the row.
      Dim row As DetailsViewRow
    
      For Each row In rowArray
      
        ' 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/>"
      
      Next

    Else
    
      MessageLabel.Text = "No items."
    
    End If

  End Sub
  
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>DetailsViewRowCollection CopyTo Example</title>
</head>
<body>
    <form id="form1" runat="server">
    
      <h3>DetailsViewRowCollection CopyTo 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>

Remarques

Utilisez cette méthode pour copier les éléments de l’objet DetailsViewRowCollection dans le tableau spécifié, en commençant à l’index spécifié. Le tableau peut ensuite être utilisé pour accéder aux éléments de la collection.

Notes

Vous devez utiliser un tableau de base zéro pour le array paramètre.

S’applique à

Voir aussi