PDA

View Full Version : کمک در خصوص انتخاب روش انجام کار



mmbguide
جمعه 10 دی 1395, 22:56 عصر
سلام

میخوام در یک DataGridView که ستون اول مربوط به گروه خاصی از اقلام و سایر ستون ها که مرتبط با ماه های سال است یک عدد نمایش بدم.

برای ارتباط با یانک اطلاعاتی از DataSet استفاده کردم و با استفاده از حلقه بین سطر و ستون DGV شماره مربوط به اقلام ستون اول و ستون ماه رو به یک Query ذخیره شده در TableAdapter ارسال می کنم و نتیجه رو در سلول مورد نظر نمایش میدم. اما این کار خیلی وقتگیر هستش و حدود 10 ثانیه طول میکشه که DGV رو تکمیل کنه. تعداد اقلام ستون اول حدود 30 عدد و جدول حاوی اطلاعات که باید تعداد این اقلام از آن جمع شود حدود 300 ردیف است ولی سرعت بسیار پایین. ایا راه حل سریعتری هم هست؟

ممنون

reza_ali202000
جمعه 10 دی 1395, 23:36 عصر
سلام دوست عزیز. همینقدر که میتونید خروجی مورد نظرتون رو بگیرید خیلی عالی هست. حالا باید سرعتشو درست کنید. بجای اینکه این کارو طرف وینفرم انجام بدید طرف اس کیو ال انجام بدید. در مرحله اول شاید به نظر مشکل بیاد ولی قابل حله. بعد بیاد روی فیلدهای جدولتون ایندکس گذاری کنید خواهید دید که سرعت به شدت افزایش پیدا میکنه.

mmbguide
شنبه 11 دی 1395, 08:02 صبح
البته داده های مورد نظر رو بصورت DataTable در فرم بارگذاری کردم و کمتر 1 ثانیه DGV به وسیله همون حلقه ها تکمیل شد. ولی اگر جدول بیش از 100هزار ردیف داشته باشه آیا باز هم روشی که انجام دادم به همین سرعت عمل میکنه و یا به گفته شما باید در SQL انجام بدم. تشکر

reza_ali202000
شنبه 11 دی 1395, 14:12 عصر
دیتاگریدویو برا نمایش اطلاعات خیلی خیلی سرعت بالایی داره. ولی برای خواندن و محاسبه سرعتش پایینه. بهتر اینه که محاسبات در قسمت اس کیو ال انجام بشه. اینجوری سرعت هم بالاتر میره