Share via

DataGridViewRowCollection.AddCopy(Int32) Method


Adds a new row based on the row at the specified index.

 virtual int AddCopy(int indexSource);
public virtual int AddCopy (int indexSource);
abstract member AddCopy : int -> int
override this.AddCopy : int -> int
Public Overridable Function AddCopy (indexSource As Integer) As Integer



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


The index of the new row.


indexSource is less than zero or greater than or equal to 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:


The DataSource property of the DataGridView is not null.


This operation would add a frozen row after unfrozen rows.


The InheritedStyle property of the new row has the same values as the InheritedStyle of the row positioned at indexSource. The AddCopy 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