DataGridColumnCollection.CopyTo Method
Copies the items from the DataGridColumnCollection to the specified System.Array object, starting at the specified index in the System.Array object.
[Visual Basic] Public Overridable Sub CopyTo( _ ByVal array As Array, _ ByVal index As Integer _ ) Implements ICollection.CopyTo [C#] public virtual void CopyTo( Array array, int index ); [C++] public: virtual void CopyTo( Array* array, int index ); [JScript] public function CopyTo( array : Array, index : int );
Parameters
- array
- A zero-based System.Array object that receives the copied items from the DataGridColumnCollection.
- index
- The first position in the specified System.Array object to receive the copied contents.
Implements
Remarks
Use this method to copy the contents of the DataGridColumnCollection into the specified System.Array object, starting at the specified index.
Note The array parameter must be a zero-based System.Array object.
Example
[Visual Basic, C#] The following example demonstrates how to use the CopyTo method to copy the contents of the DataGridColumnCollection to an array of DataGridColumn objects.
[Visual Basic] <%@ 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) Dim myArray(3) As DataGridColumn ItemsGrid.Columns.CopyTo(myArray, 0) Label1.Text = "The heading text for the items in the array are: " & "<br>" & "<br>" Dim column As DataGridColumn For Each column In myArray Label1.Text &= column.HeaderText & "<br>" Next column End Sub 'Button_Click </script> <body> <form runat=server> <h3>DataGridColumnCollection CopyTo 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="Copy DataGridColumnsCollection to Array" OnClick="Button_Click" runat="server"/> <p> <asp:Label id="Label1" runat="server"/> </form> </body> </html> [C#] <%@ 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) { DataGridColumn[] myArray = new DataGridColumn[3]; ItemsGrid.Columns.CopyTo(myArray, 0); Label1.Text = "The heading text for the items in the array are: <br><br>"; foreach (DataGridColumn column in myArray) { Label1.Text += column.HeaderText + "<br>"; } } </script> <body> <form runat=server> <h3>DataGridColumnCollection CopyTo 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="Copy DataGridColumnsCollection to Array" OnClick="Button_Click" runat="server"/> <p> <asp:Label id="Label1" runat="server"/> </form> </body> </html>
[C++, JScript] No example is available for C++ or JScript. To view a Visual Basic or C# example, click the Language Filter button
in the upper-left corner of the page.
Requirements
Platforms: Windows 2000, Windows XP Professional, Windows Server 2003 family
See Also
DataGridColumnCollection Class | DataGridColumnCollection Members | System.Web.UI.WebControls Namespace | System.Array