Для решения задачи приходится использовать объект CurrencyManager (как я понимаю от слова Current - текущий). Приведенный ниже код можно оформить в какой-нибуть глобальный класс.
public DataRow GetCurrentRow(DataGridView dg){
CurrencyManager cm = (CurrencyManager)dg.BindingContext[dg.DataSource, dg.DataMember];
if (cm.Count == 0) { return null; }
DataRowView drv = (DataRowView)cm.Current;
return drv.Row;
} // GetCurrentRow
:
DataRow dr = SomeClass.GetCurrentRow(myDataGridView);
dr["Name"] = "Bill Gates";
:

Получить текущую строку в БД (DataGridView)
