There is an exception when resetting the binding source on CellEndEdit after pressing Enter Comment: It is not correct to preserve the CurrentRow position when changing/reseting the binding source. Instead you can preserve its index and restore it when the data source is updated!