من ميخوام زماني كه 1 ركورد رو آپديت يا ذخيره ميكنم نشانگر ركورد جاري روي همون ركورد قرار بگيره و با رفرش كردن ديتا گريد جاي اون تغيير نكنه لطفا اگه شخص شخيصي راه حلي داره كمك كنه پيشا پيش از لطفش ممنونم:عصبانی++:
Printable View
من ميخوام زماني كه 1 ركورد رو آپديت يا ذخيره ميكنم نشانگر ركورد جاري روي همون ركورد قرار بگيره و با رفرش كردن ديتا گريد جاي اون تغيير نكنه لطفا اگه شخص شخيصي راه حلي داره كمك كنه پيشا پيش از لطفش ممنونم:عصبانی++:
اگر گریدت را به یک bindingSource بایند کرده اید می توانید مکان (position) انرا ذخیره و پس از refresh به آن position بروید.
سلام دوست عزيز
خيلي ممنون ميشم اگه شبه كدش رو هم بذاري تا من كاملا روشن بشم Ok:تشویق:
اول مقدار positon را داخل یک متغییر int بگذار
j = Me.BindingContext(ds, "mojodi").Position
بعد از رفرش بر عکس متغییر رابریز
من مي تونم همون ركورد آپديت شده رو انتخاب كنم ولي مشكلم با اون اشاره گره است كه كنار ركورد انتخاب شده نمياد و سر همون جاي قبليش باقي مي مونه
// 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;
}
}