New to Telerik UI for WinFormsStart a free 30-day trial

Adding and Inserting Rows In Unbound Mode

Updated on Jul 16, 2026

When RadGridView is in unbound mode, you can add new rows to the Rows collection.

Adding a GridViewDataRowInfo to the Rows collection is supported only when RadGridView is in unbound mode. If the grid is data-bound, an InvalidOperationException is thrown with the message: "Rows cannot be programmatically added to the RadGridView's rows collection when the control is data-bound." To add rows in bound mode, add the data item to the underlying data source instead.

Adding rows to RadGridView

For example, if the grid control contains four columns – GridViewTextBoxColumn, GridViewDecimalColumn, GridViewDateTimeColumn and GridViewCheckBoxColumn you can add an empty row as it is demonstrated in the code snippet below.

C#
public RadForm1()
{
    InitializeComponent();
    this.radGridView1.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill;
    this.radGridView1.Columns.Add(new GridViewTextBoxColumn(){ HeaderText="TextBox Column" });
    this.radGridView1.Columns.Add(new GridViewDecimalColumn(){ HeaderText="Decimal Column" });
    this.radGridView1.Columns.Add(new GridViewDateTimeColumn(){ HeaderText="DateTime Column" });
    this.radGridView1.Columns.Add(new GridViewCheckBoxColumn(){ HeaderText="CheckBox Column" });
}

The RadGridView.Rows.AddNew() method adds an empty row and allows the user to enter a value for each column cells’:

Add an empty row

C#
radGridView1.Rows.AddNew();

Figure 1: Add a blank new row

Telerik UI for WinForms RadGridView showing a blank new row added in unbound mode

The RadGridView.Rows.Add(value-for-first-column, value-for-second-column, value-for-third-column) method adds a new row with the specified values. You can use the following code snippet to add values for each column:

Add a new row with values

C#
radGridView1.Rows.Add("Adding New Row", 12.5, DateTime.Now, true);

Figure 2: Add new row with data in it

Telerik UI for WinForms RadGridView showing a new row added with predefined cell values in unbound mode

You can also add rows by creating an instance of GridViewDataRowInfo and adding it to the Rows collection of RadGridView:

Add a GridViewDataRowInfo

C#
GridViewDataRowInfo rowInfo = new GridViewDataRowInfo(this.radGridView1.MasterView);
rowInfo.Cells[0].Value = "GridViewDataRowInfo";
rowInfo.Cells[1].Value = 11.4;
rowInfo.Cells[2].Value = DateTime.Now.AddDays(5);
rowInfo.Cells[3].Value = true;
radGridView1.Rows.Add(rowInfo);

Figure 3: Add new row by creating an instance first

Telerik UI for WinForms RadGridView showing a new row added by creating a GridViewDataRowInfo instance first

Inserting rows in RadGridView

Rows can be inserted at a specified position by using the Insert method of the Rows collection. Below you can see an example of this functionality:

Insert a GridViewDataRowInfo

C#
GridViewDataRowInfo dataRowInfo = new GridViewDataRowInfo(this.radGridView1.MasterView);
dataRowInfo.Cells[0].Value = "Inserted Row";
dataRowInfo.Cells[1].Value = 1156.54;
dataRowInfo.Cells[2].Value = DateTime.Now.AddDays(14);
radGridView1.Rows.Insert(2, dataRowInfo);

Figure 4: Insert row to a specific position

Telerik UI for WinForms RadGridView showing a row inserted at a specific position in unbound mode

See Also