من ميخوام زماني كه 1 ركورد رو آپديت يا ذخيره ميكنم نشانگر ركورد جاري روي همون ركورد قرار بگيره و با رفرش كردن ديتا گريد جاي اون تغيير نكنه لطفا اگه شخص شخيصي راه حلي داره كمك كنه پيشا پيش از لطفش ممنونم![]()
من ميخوام زماني كه 1 ركورد رو آپديت يا ذخيره ميكنم نشانگر ركورد جاري روي همون ركورد قرار بگيره و با رفرش كردن ديتا گريد جاي اون تغيير نكنه لطفا اگه شخص شخيصي راه حلي داره كمك كنه پيشا پيش از لطفش ممنونم![]()
اگر گریدت را به یک bindingSource بایند کرده اید می توانید مکان (position) انرا ذخیره و پس از refresh به آن position بروید.
اگر Net. نمی دانید وارد نشوید.
سلام دوست عزيز
خيلي ممنون ميشم اگه شبه كدش رو هم بذاري تا من كاملا روشن بشم 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;
}
}