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

Adding and Inserting Rows In Unbound Mode

Updated on Apr 29, 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

WinForms RadGridView Add a blank new row

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

WinForms RadGridView Add new row with data in it

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

WinForms RadGridView Add new row by creating an 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

WinForms RadGridView Insert row to a specific position

See Also