struct DataGridViewPoint { public int FirstDisplayedScrollingRowIndex; public int FirstDisplayedScrollingColumnIndex; public object @object; } DataGridViewPoint myDataGridViewPoint; if(myDataGridViewPoint.FirstDisplayedScrollingRowIndex>0&&myDataGridViewPoint.FirstDisplayedScrollingRowIndex<dgvUpTable.RowCount) dgvUpTable.FirstDisplayedScrollingRowIndex = myDataGridViewPoint.FirstDisplayedScrollingRowIndex; if (myDataGridViewPoint.FirstDisplayedScrollingColumnIndex>0&&myDataGridViewPoint.FirstDisplayedScrollingColumnIndex<dgvUpTable.ColumnCount) { dgvUpTable.FirstDisplayedScrollingColumnIndex = myDataGridViewPoint.FirstDisplayedScrollingColumnIndex; } DataGridViewRow dgvRow = null; foreach (DataGridViewRow var in dgvUpTable.Rows) { if (var.Cells["ti_id"].Value.ToString()== myDataGridViewPoint.@object as string) { dgvRow = var; break; } } if (dgvRow !=null) { dgvRow.Selected = true; }