بروزرسانی اطلاعات در DataGridView بدون کویری مجدد
در یک پروژه سی شارپ WPF با دیتابیس SQL Server و Entity Framwork
میخواهیم زمانی که اطلاعات درج حذف یا بروزرسانی شد دیتا گرید رو بروز کنیم و اطلاعات رو ببینیم
دوتا مشکل وجود داره :
1- باید یک کویری SELECT یا ItemSource مجددا بزنیم و داخل دیتا گرید بریزیم که اطلاعات بروز باشه , که اگر اطلاعات زیاد باشه کند عمل میکنه
var query = dbms.Database.SqlQuery<MYTABLE>("SELECT CODE,NAME,TEL FROM MYTABLE").ToList();
DataGrid1.ItemSource = query ;
/////یا
DataGrid1.ItemSource = null;
DataGrid1.ItemSource = dbms.MYTABLE.ToList();
2- فرض کنید بین 10 هزار رکورد توی دیتا گرید که لیست شده میخوایم ردیف شماره 756 , اطلاعاتش رو اصلاح (UPDATE) کنیم و بعد از اون بخوایم دیتاگرید بروز(در نمایش اطلاعات) بشه , باید مجددا اطلاعات رو
از دیتابیس بگیریم و بریزیم داخل دیتا گرید , که اون ردیفی که در حال اصلاح کردنش بودیم جابه جا میشه (چون از اول لود میشه ردیفش رو گم میکنیم و دوباره باید پیداش کنیم).
چیز هایی مثل MyDataGrid.Refresh() هم کار نمیکنه
چکاری میتونیم انجام بدیم که اطلاعات رو در داخل دیتاگرید بعد از عملیات (INSERT ,UPDATE,DELETE)با سرعت بالا بروز کنیم (نمایشش در دیتا گرید )
بدون اینکه ردیفی که روش فوکوس کرده بودیم جابه جا بشه (یا در Reload اون رکوردی که روش بودیم بهم نخوره
لطفا راهنمایی بفرمایید.
باتشکر
شما نمیتونید اطلاعات رو داخل DataGridView ذخیره کنید و برای رفرش اطلاعات باید حتما یک بار مجدد اطلاعات رو از دیتابیس فراخوانی کنید. ولی معمولا نیازی نیست شما همه اطلاعات رو از دیتابیس واکشی کنید.
مطمئنا اگر شما 10 هزار یا 100 هزار رکورد داخل دیتابیس خودتون داشته باشید واکشی و نمایش این حجم از اطلاعات قدری باعث کند شدن برنامه شما میشه.
من خودم معمولا بیشتر از 1000 تا رکورد رو واکشی نمیکنم. و اگر کاربر نیاز به اطلاعاتی داشت میتونه با استفاده از قابلیت جستجو که قرار میدم اطلاعات مورد نیازش رو پیدا کنه.
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- نمایش صفحه در پنجره جدید با کلیک روی لینک (تگ a) در Asp
- افزودن مقادیر به صورت دستی به List دریافت شده از ریپازیتوری
- مشکل تاریخ شمسی در سی شارپ
- نمایش گزارش stimulsoft روی کلاینت
- حذف کامل یک رکورد در جدول ریلیشن شده
- تفاوت های سی شارپ 8 با نسخه های قبلی چیه؟
- انتخاب چند سطر دلخواه توسط چک باکس در DataGrid و محاسبه جمع سطرهای انتخاب شده
- مقایسه ساختار دو دیتابیس در Sql Server
- اشکال در ایجاد کلید خارجی در Sql Server
- نمایش نوتیفکیشن در سی شارپ
- ارسال پارامتر از سی شارپ به استیمول سافت
- عدم نمایش عکس در دیتاگرید ویو در wpf