DataGridViewRowCollection.Insert Method (Int32, DataGridViewRow)


Inserts the specified DataGridViewRow into the collection.

Namespace:   System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

public virtual void Insert(
	int rowIndex,
	DataGridViewRow dataGridViewRow


Type: System.Int32

The position at which to insert the row.

Type: System.Windows.Forms.DataGridViewRow

The DataGridViewRow to insert into the DataGridViewRowCollection.

Exception Condition

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


dataGridViewRow is null.


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.


rowIndex is equal to the number of rows in the collection and the AllowUserToAddRows property of the DataGridView is set to true.


The DataGridView has no columns.


The DataGridView property of dataGridViewRow is not null.


dataGridViewRow has a Selected property value of true.


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


dataGridViewRow has more cells than there are columns in the control.

The Insert(Int32, DataGridViewRow) 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.

.NET Framework
Available since 2.0
Return to top