PDA

View Full Version : سوال: نمایش پروگرس بار تا پیش از آماده شدن گزارش و نمایش آن



parsester
جمعه 27 آبان 1390, 02:29 صبح
من میخوام در برنامم زمانی که کاربر روی یک دکمه برای مشاهده یک گزارش کریستال ریپورت کلیک می کنه تا زمانی که کریستال ریپورت ویور نمایش داده میشه (که زمان قابل ملاحظه ای هم هست گاهی اوقات) یک پروگرس بار نشون داده بشه؟
چکار باید بکنم؟

mehran_sh_t
جمعه 27 آبان 1390, 07:15 صبح
سلام
از ترد استفاده کنید

parsester
جمعه 27 آبان 1390, 15:43 عصر
دوست عزیز ممکنه توضیح بدین چطور از ترد استفاده کنم؟ تا به حال حتی اسمش هم به گوشم نخورده؟

مرتضی تقدمی
جمعه 27 آبان 1390, 16:29 عصر
سلام
توی همین سایت سرچ کنید. مطلب و نمونه برنامه و کد زیاده.

parsester
جمعه 27 آبان 1390, 21:54 عصر
سلام
توی همین سایت سرچ کنید. مطلب و نمونه برنامه و کد زیاده.

پیش از این سرچ کردم ولی پیدا نکردم یه دونه بود که برای ویژوال بیسیک بود من برای سی شارپ می خوام آخه...
اگر کسی میدونه لطف کنه بهم بگه...

مرتضی تقدمی
جمعه 27 آبان 1390, 22:15 عصر
چطور پیدا نکردین !
نمونه هایی مفید در رابطه Thread :

http://barnamenevis.org/showthread.php?275344-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%AC%D8%A7%D9%85%D8%B9-Threading-%D9%88-%D9%85%D8%A8%D8%A7%D8%AD%D8%AB-%D9%85%D8%B1%DB%8C%D9%88%D8%B7%D9%87-%D9%85%D8%AB%D9%84-synchronization

http://barnamenevis.org/showthread.php?185981-%D9%86%D9%85%D8%A7%DB%8C%D8%B4-%D9%84%D9%88%D8%AF%DB%8C%DA%AF-%D9%87%D9%86%DA%AF%D8%A7%D9%85-Backup-%D9%88-restore-%DA%A9%D8%B1%D8%AF%D9%86-%D8%AF%DB%8C%D8%AA%D8%A7%D8%A8%DB%8C%D8%B3

http://barnamenevis.org/showthread.php?263546-%D9%86%D9%85%D8%A7%DB%8C%D8%B4-%D9%BE%D9%86%D8%AC%D8%B1%D9%87-loading-%D9%87%D9%86%DA%AF%D8%A7%D9%85%DB%8C-%DA%A9%D9%87-%D8%AF%D8%B1-%D8%AD%D8%A7%D9%84-%D8%B4%D8%B1%D9%88%D8%B9-%DA%AF%D8%B0%D8%A7%D8%B1%D8%B4%DA%AF%DB%8C%D8%B1%D B%8C-%D9%87%D8%B3%D8%AA%DB%8C%D9%85

http://barnamenevis.org/showthread.php?73406-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-%D8%AF%D9%88-thread-%D8%AF%D8%B1-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87

http://barnamenevis.org/showthread.php?215597-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%D9%8A%D8%B3%D9%8A-%DA%86%D9%86%D8%AF-%D9%86%D8%AE%D9%8A

http://barnamenevis.org/showthread.php?203810-%DA%86%DA%AF%D9%88%D9%86%DA%AF%DB%8C-%DA%A9%D8%A7%D8%B1-%D8%A8%D8%A7-Thread-%D9%87%D8%A7

http://barnamenevis.org/showthread.php?277612-%DA%AF%D8%B1%D9%81%D8%AA%D9%86-%D9%85%D9%82%D8%AF%D8%A7%D8%B1-%D8%B9%D8%A8%D8%A7%D8%B1%D8%AA-%D8%AF%D8%B1%D9%88%D9%86-%D8%AA%DA%A9%D8%B3%D8%AA-%D8%A8%D8%A7%DA%A9%D8%B3-%D8%AF%D8%B1-thread

موفق باشید

haniyehghassami
جمعه 27 آبان 1390, 22:29 عصر
سلام دوست عزیز
اگر می خوای چند تا پردازش رو با هم انجام بدی و هم بتونی با برنامه کار کنی تا اونجا که من می دونم تنها راه استفاده از thread هست یا اگر راه دیگه ای هم باشه من بلد نسیتم
البته از کنترل background worker هم می تونی استفاده کنی اما این کنترل هم دقیقا می یاد با thread ها کار می کنه اما چون کنترل هست یکسری کارها رو راحتر کرده برای کد نویسی

کمی از ترد میدونم که الان بهت میگم

using System.Threading;
//اولین قدم اضاف کردن فضای نامش هست

Thread thread = new Thread(new ThreadStart(WorkThreadFunction));
//در این جا باید در پرانتز اخر متدی را که میخواهی در ترد انجام شود بنویس
//نکته : در ترد از نوشتن هر کدی که با ui()user interface در گیر نکن چون بهت خطا میده
thread.Start();
//اگه هم بخوای وضعیت ترد را ببینی از این استفاده کنی
thread .IsAlive();



BackgrounWorker (http://msdn.microsoft.com/en-us/library/cc221403(v=VS.95).aspx)

parsester
یک شنبه 29 آبان 1390, 14:23 عصر
دوستان من نمیخوام از ترد استفاده کنم...و چند پردازش رو همزمان انجام بدم
میخوام تا زمان نمایش گزارش کریستال ریپورت یک پروگرس بار نمایش داده بشه...با این کار نمای زیبایی رو به برنامه میدم و هم کاربر خیال نمیکنه که برنامه هنگ کرده...

parsester
یک شنبه 29 آبان 1390, 14:26 عصر
چطور پیدا نکردین !
نمونه هایی مفید در رابطه Thread :


آقای تقدمی نمیخوام چند پردازش رو باهم انجام بدم که بخوام از ترد استفاده کنم...
میخوام تا زمان نمایش کریستال ریپورت یک پروگرس بار نمایش داده بشه تا کاربرد خیال نکنه که برنامه هنگ کرده هم اینکه برنامه جذابیت بصری بیشتری داشته باشه...

مرتضی تقدمی
یک شنبه 29 آبان 1390, 21:10 عصر
آقای تقدمی نمیخوام چند پردازش رو باهم انجام بدم که بخوام از ترد استفاده کنم...
میخوام تا زمان نمایش کریستال ریپورت یک پروگرس بار نمایش داده بشه تا کاربرد خیال نکنه که برنامه هنگ کرده هم اینکه برنامه جذابیت بصری بیشتری داشته باشه...

ترد فقط برای چندتا پردازش همزمان نیست که. شما به محض اینکه روی دکمه نمایش گزارش کلیک کنی برنامه تا زمانی که گزارش نشون داده نشده حالت هنگ مانند پیدا می کنه که تنها راه فرار از این وضع اینه که از همین ترد یا background worker استفاده کنی.
یک راه بهتر اینه که شما وقتی می خوای وارد برنامه بشی, این کار یعنی باز کردن یک گزارش رو انجام بدی اما نمایش ندی. با این کار برای دفعات بعد گزارش سریع نمایش داده میشه و دیگه لازم نیست برای هر نمایش گزارش یک ترد بنویسی.