DataGridViewRowCollection.InsertCopy(Int32, Int32) Method


Inserts a row into the collection at the specified position, based on the row at specified position.

 virtual void InsertCopy(int indexSource, int indexDestination);
public virtual void InsertCopy (int indexSource, int indexDestination);
abstract member InsertCopy : int * int -> unit
override this.InsertCopy : int * int -> unit
Public Overridable Sub InsertCopy (indexSource As Integer, indexDestination As Integer)



The index of the row on which to base the new row.


The position at which to insert the row.


indexSource is less than zero or greater than the number of rows in the collection minus one.


indexDestination is less than zero or greater than the number of rows in the collection.

The associated DataGridView control is performing one of the following actions that temporarily prevents new rows from being added:

  • Selecting all cells in the control.

  • Clearing the selection.


This method is being called from a handler for one of the following DataGridView events:


indexDestination is equal to the number of rows in the collection and AllowUserToAddRows is true.


This operation would insert a frozen row after unfrozen rows or an unfrozen row before frozen rows.


This method assigns the new row the index specified in the indexDestination parameter and increments the indexes for all subsequent rows. The InheritedStyle property of the new DataGridViewRow has the same values as the InheritedStyle of the DataGridViewRow positioned at indexSource. The InsertCopy method adds a shared row to the DataGridViewRowCollection, if possible. Otherwise, the new row is unshared. For more information, see Best Practices for Scaling the Windows Forms DataGridView Control.

Rows in the control are not automatically sorted when new rows are added. To sort new rows into their correct position, call the DataGridView.Sort method in a DataGridView.RowsAdded event handler. You might also want to call the DataGridView.Sort method in a CellValueChanged event handler to sort the rows when the user modifies a cell.

Applies to

See also