Remove Uncommitted New Rows Of DGV

Set the DataGridView AllowUserToAddRows property to False.

However you'll have to provide a method which will allow the user to enter a new row. For example you can have that when the user double click the DataGridView, you set AllowUserToAddRows to true. And then when they are done editing, you set the value back to False.

To Add a new Row:

Lets say your DataGridView is called MyDataGridView and you have a Button called BtnAddRow and when the button is clicked, it adds an new row to your DataGridView.

private void btnAddRow_Click(object sender, RoutedEventArgs e)
{
       // Add an empty row
       MyDataGridView.Rows.Add();
}

Alternatively, you could just handle DataGridView OnDoubleClick event in which you can call MyDataGridView.Rows.Add() to add a new row.


If your DataGridView is bound to a DataSet, this does the trick for deleting the current row:

If DataGridView1.CurrentRow.IsNewRow Then
    MyDataSet1.MyTable.Rows(DataGridView1.CurrentRow.Index).RejectChanges()
Else
    DataGridView1.Rows.Remove(DataGridView1.CurrentRow)
End If