Hi armst1111,
From my experience, the root cause is the code snippet below:
dgvUsers.CurrentCell = dgvUsers.Rows[dgvUsers.Rows.Count - 1].Cells["UserID"];
This would cause the new row become the current row and the underlying binding source add a new record.
To solve this issue, there are three ways:
1. Modify that line of code to set another row to be the current row, not the new row.
2. Remove that line of code.
3. Set the AllowUserToAddRows property of the DataGridView to false to disallow the new row to be inserted automatically. If there is an binding navigator, the user can use the add button to add a new row. If there is not, you need to add a button and call the AddNew method of the BindingSource to add a new record in its click event handler.
Regards,
Aland Li
Please mark the replies as answers if they help and unmark if they don't. This can be beneficial to other community members reading the thread.