PDA

View Full Version : نمایش سریع اطلاعات بسیار حجیم در datagridview



xxxsenatorxxx
پنج شنبه 12 شهریور 1394, 19:37 عصر
با سلام و خسته نباشید
یکی دیتا بیس دارم 1 میلیون رکورد و 30 تا ستون داره و میخوام تو datagridview نمایش بدم ولی 10 ثانیه طول میکشه!!!
من خیلی برای این موضوع جستجو کرذم و سه راه پیدا کردم
1- حذف آپشن های گرافیکی از دیتا گرید ویو که خیلی موثر نبود
2- virtual mode
3- paging
https://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.virtualmode%28v= vs.110%29.aspx


یه نمونه کد با virtual mode میخواستم که از تیبیل اطلاعات بگیره .
لطفا با کد کامل توضیح بفرمایید
تشکر

golbafan
پنج شنبه 12 شهریور 1394, 20:33 عصر
سلام
آیا واقعا لازمه کاربر همه یک میلیون رکورد رو لود کنه؟
اگر بله --> از صفحه بندی استفاده کنید و تعداد 1000 رکورد رو fetch کنید در هر مرحله
اگر خیر --> کوئری بزنید :چشمک:

xxxsenatorxxx
پنج شنبه 12 شهریور 1394, 22:41 عصر
سلام
آیا واقعا لازمه کاربر همه یک میلیون رکورد رو لود کنه؟
اگر بله --> از صفحه بندی استفاده کنید و تعداد 1000 رکورد رو fetch کنید در هر مرحله
اگر خیر --> کوئری بزنید :چشمک:

بله لازمه. صفحه بندی هم به کارم نمیاد

کد یا نمونه پروژه ساده virtual mode که از تیبل بخونه لطف کنید
تشکر

golbafan
جمعه 13 شهریور 1394, 17:29 عصر
سلام
کافیه مشخصه DataAccessMode رو برای تیبیل روی VirtualAutomaticتنظیم کنید
در این صورت دیتا در بک گراند fetch میشه
البته در این حالت هم مثل paging تمام داده ها لود نمیشن. فقط وقتی لود میشن که نیاز بشن. مثلا وقتی کاربر scroll انجام بده...

xxxsenatorxxx
جمعه 13 شهریور 1394, 20:31 عصر
دوست عزیز این DataAccessMode که میگی کجاست و چجوری تنظیمش کنم؟ فکر کن من هیچی بلد نیستم
تیبیل من DataTable dt = new DataTable(); اینه حالا چیکارش کنم
لطفا کد بده

golbafan
شنبه 14 شهریور 1394, 07:09 صبح
طبق این آموزش پیش برید:

http://helpcentral.componentone.com/nethelp/c1data/tutorial4virtualmode1.html

xxxsenatorxxx
شنبه 14 شهریور 1394, 21:58 عصر
حتما باید دیتا بیس بایند باشه؟؟؟
برای اون مدلی که من نوشتم نمیشه؟