If they are in one form then it is physically impossible to edit both at the same time, however I am going to assume that you mean edits in on dgv must be complete and committed to the datasource before starting edits in the other.
I would probably keep it simple and toggle the
ReadOnly property[
^] in an appropriate event from the opposing dgv e.g.
CellBeginEdit[
^] or
UserAddedRow[
^]. However, you shouldn't need the latter if you are binding to a table - you will need to have some means of inserting new rows into the datasource - and that is where you should prevent editing of the opposing dgv