// 1. گرفتن شناسه رکورد جاری قبل از رفرش
object currentId = gridView1.GetRowCellValue(gridView1.FocusedRowHand le, "ID");


// 2. رفرش کردن دیتا (مثلاً بعد از آپدیت یا ذخیره)
gridControl1.DataSource = GetData(); // متد فرضی برای گرفتن دیتا


// 3. پیدا کردن رکورد قبلی بعد از رفرش و بازگرداندن فوکوس
for (int i = 0; i < gridView1.RowCount; i++)
{
object rowId = gridView1.GetRowCellValue(i, "ID");
if (rowId != null && rowId.Equals(currentId))
{
gridView1.FocusedRowHandle = i;
break;
}
}