Если у вас есть dgv1 и dgv2, вы можете создать что-то вроде
dgv1.Scroll += new System.Windows.Forms.ScrollEventHandler(dgv1_Scroll);
Затем в методе dgv1_Scroll вы можете использовать свойство FirstDisplayedScrollingRowIndex:
dgv2.FirstDisplayedScrollingRowIndex = dgv1.FirstDisplayedScrollingRowIndex
Конечно, если dgvколичество строк различно, вам нужно избегать исключения IndexOutOfRange, проверяя количество строк в dgv.