В данный момент у меня возникла проблема. дело в том, что при обновлении таблицы DataGridView курсор перескакивает в самое начало, а именно на первую строку первого столбца. На данный момент нашел решение, но оно тоже не работает так как хочется мне.

 
int firstvisiblerow = dataGridView1.FirstDisplayedScrollingRowIndex;
int firstvisiblecolumns = dataGridView1.FirstDisplayedScrollingColumnIndex;
dataGridView1.FirstDisplayedScrollingRowIndex = firstvisiblerow;
dataGridView1.FirstDisplayedScrollingColumnIndex = firstvisiblecolumns;

Если бы выделенная строка не прыгала в начало видимой области, было бы просто шикарно, но покуда и этого достаточно.