View Full Version : سوال: مشکل با سرعت tadvgrid (فوری لطفت کمک کنید )
baran_2005
پنج شنبه 17 فروردین 1391, 12:34 عصر
سلام
من تو پروژم از کامپوننتای tms استفاده کردم الان که برنامم با داده های واقعی تست میکنم مثلا اگر 1000 رکورد داشته باشم ، سرعت نمایش داده های grid خیلی پایین میاد. چند ثانیه طول میکشه تا لود شه . کامپوننتای دیگه grid ، تنها بخشایی از گرید که اسکرول میشه رویداد oncalcfield شی adoquery اجرا میکنه اما این grid tms اول همه رکوردا رو محاسبه میکنه . برای رفع این مشکل چکار میشه کرد ؟ کسی راه حلی داره ؟
سعید صابری
پنج شنبه 17 فروردین 1391, 13:11 عصر
از dbgrideh شرکت ehlib استفاده کن سریع هست و حرفا ای
baran_2005
شنبه 19 فروردین 1391, 13:30 عصر
کل پروژه رو که باید این طوری از اول بنویسم نمیتونم از کامپوننت دیگه ای استفاده کنم چون بیشتر عملیاتی که انجام میدم براش تابع نوشتم کلی زمان میبره تغییراتم . برای بهبود سرعت این کامپوننت چه کار میشه کرد (البته برای گرید)
asgarkz
شنبه 19 فروردین 1391, 17:57 عصر
اگر توی خاصیتهای این کامپوننت گزینه PageMode وجود داره، مقدارش رو True کنید تا تنها رکوردهای قابل نمایش رو Load کنه.
MohsenB
شنبه 19 فروردین 1391, 22:48 عصر
سلام
شما داده ها رو به چه صورت به گرید اضافه می کنید ؟ اگر امکانش هست کدش رو بنویسید .
موفق باشید
tiphooo
چهارشنبه 23 فروردین 1391, 00:14 صبح
متاسفانه DBAdvGrid داده ها را با سرعت پایین لود می کند و این ایراد بسیار بزرگی است که بر این گرید وارد است ولی شما اگر در رویداد OnGetRecordCount تعداد رکوردهایی را که قرار است لود شود معرفی کنید سرعت به طرز چشمگیری افزایش می یابد یعنی هر Query و یا جدولی که به گرید وصل است در ابتدا باید یک بار در این قسمت اجرا شده و تعداد رکوردهای آن را پیدا کنید و آن را به خورد پارامتر Count آن بدهبد مثلا اگر Query شما به شکل زیر باشد SELECT * FROM Table1 باید در این رویداد SELECT COUNT(ID) AS RecordCount FROM Table1 را اجرا کرده و مقدار RecordCount را به متغیر Count انتساب دهید
البته این خود ایراد بزرگی برای این گرید است ولی چون استفاده کردید شاید تنها راه حلتان باشد شاید هم راه حلهای بهتر هم داشته باشد .
در مورد Calc فیلدها هم اینکه این مولفه ربطی به گرید نداشته و محاسبه اتومات همه آنها به Query بر می گردد . می توانید با حذف اتصال گرید با بانک و یک BreakPoint ساده در OnCalcField این موضوع را بررسی کنید
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.