GridViewRowCollection.CopyTo(GridViewRow[], Int32) メソッド

定義

指定した GridViewRowCollection オブジェクトに Array のすべての項目をコピーします。コピー操作は、Array オブジェクトの指定したインデックス位置から始まります。

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

パラメーター

array
GridViewRow[]

Array オブジェクトの項目のコピー先の、インデックス番号が 0 から始まる GridViewRowCollection オブジェクト。

index
Int32

内容のコピー先として指定された Array オブジェクト内の最初のインデックス。

次の例では、 メソッドを使用 CopyTo してコレクションの項目を配列にコピーする方法を示します。 配列が反復処理され、最初のセルの値がページに表示されます。


<%@ 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 AuthorsGridView_RowCreated(Object sender, GridViewRowEventArgs e)
  {
    if (e.Row.RowType == DataControlRowType.Footer)
    {
      Message.Text = "The authors are:<br />";
      
      // Copy the items in the Rows collection into an array.
      GridViewRow[] rowArray = new GridViewRow[AuthorsGridView.Rows.Count]; 
      AuthorsGridView.Rows.CopyTo(rowArray, 0);

      // Iterate though the array and display the value in the
      // first cell of the row.
      foreach(GridViewRow row in rowArray)
      {
        Message.Text += row.Cells[0].Text + "<br />";
      }
    }
  }

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>GridViewRowCollection CopyTo Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>GridViewRowCollection CopyTo Example</h3>

      <table>
        <tr>
          <td>
            <asp:gridview id="AuthorsGridView" 
              datasourceid="AuthorsSqlDataSource" 
              autogeneratecolumns="false"
              onrowcreated="AuthorsGridView_RowCreated"  
              runat="server"> 
                     
              <columns>
                <asp:boundfield datafield="au_lname"
                  headertext="Last Name"/>
                <asp:boundfield datafield="au_fname"
                  headertext="First Name"/>
              </columns>
                                    
            </asp:gridview>
          </td>
          <td>
            <asp:label id="Message" 
              forecolor="Red"
              runat="server"/>
          </td>
        </tr>
      </table>
            
      <!-- This example uses Microsoft SQL Server and connects -->
      <!-- to the Pubs sample database.                        -->
      <asp:sqldatasource id="AuthorsSqlDataSource"  
        selectcommand="SELECT [au_lname], [au_fname] FROM [authors] WHERE [state]='CA'"
        connectionstring="server=localhost;database=pubs;integrated security=SSPI"
        runat="server">
      </asp:sqldatasource>
          
    </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 AuthorsGridView_RowCreated(ByVal sender As Object, ByVal e As GridViewRowEventArgs)

    If e.Row.RowType = DataControlRowType.Footer Then
    
      Message.Text = "The authors are:<br />"
      
      ' Copy the items in the Rows collection into an array.
      Dim rowArray(AuthorsGridView.Rows.Count - 1) As GridViewRow
      AuthorsGridView.Rows.CopyTo(rowArray, 0)

      ' Iterate though the array and display the value in the
      ' first cell of the row.
      Dim row As GridViewRow
      For Each row In rowArray
      
        Message.Text &= row.Cells(0).Text & "<br />"
      
      Next
      
    End If
      
  End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>GridViewRowCollection CopyTo Example</title>
</head>
<body>
    <form id="form1" runat="server">
        
      <h3>GridViewRowCollection CopyTo Example</h3>

      <table>
        <tr>
          <td>
            <asp:gridview id="AuthorsGridView" 
              datasourceid="AuthorsSqlDataSource" 
              autogeneratecolumns="false"
              onrowcreated="AuthorsGridView_RowCreated"  
              runat="server"> 
                     
              <columns>
                <asp:boundfield datafield="au_lname"
                  headertext="Last Name"/>
                <asp:boundfield datafield="au_fname"
                  headertext="First Name"/>
              </columns>
                                    
            </asp:gridview>
          </td>
          <td>
            <asp:label id="Message" 
              forecolor="Red"
              runat="server"/>
          </td>
        </tr>
      </table>
            
      <!-- This example uses Microsoft SQL Server and connects -->
      <!-- to the Pubs sample database.                        -->
      <asp:sqldatasource id="AuthorsSqlDataSource"  
        selectcommand="SELECT [au_lname], [au_fname] FROM [authors] WHERE [state]='CA'"
        connectionstring="server=localhost;database=pubs;integrated security=SSPI"
        runat="server">
      </asp:sqldatasource>
          
    </form>
  </body>
</html>

注釈

このメソッドを使用して、 オブジェクト内の項目を GridViewRowCollection 、指定したインデックスから開始して、指定した System.Array オブジェクトにコピーします。 System.Arrayその後、 オブジェクトを使用して、コレクション内の項目にアクセスできます。

Note

パラメーターには、0 から始まる System.Array オブジェクトを使用する array 必要があります。

適用対象

こちらもご覧ください