PDA

View Full Version : سوال: Refresh کردن DataGridview در شبکه



ma.rad
شنبه 19 آذر 1390, 18:15 عصر
سلام به اساتید
شاید سوال ساده ای باشه
میخوام هر کدوم از کلاینت ها عملیات درج ویرایش یا حذف رو انجام دادن تو دیتا گرید همه اونها تغییرات نمایش داده بشه
البته نه اینکه فرم رو ببندیم یا اطلاعات دوباره کاربر بایند کنه تو دیتا گرید
میخوام به صورت خودکار این عملیت رفرش رو انجام بده؟

ma.rad
شنبه 19 آذر 1390, 21:34 عصر
کجایند مردان بی ادعا؟؟؟!!!!

system32
شنبه 19 آذر 1390, 21:40 عصر
خیلی راحت از کامپوننت BackgroundWorker استفاده کن.

ma.rad
شنبه 19 آذر 1390, 22:17 عصر
چطور میشه ازش استفاده کرد؟؟

system32
شنبه 19 آذر 1390, 22:27 عصر
با یه سرچ کوچولو در مورد کامپوننت ...

ma.rad
یک شنبه 20 آذر 1390, 20:29 عصر
جستجو زیاد کردم ولی مشکل حل نشد
دوستان نحوه استفاده اش چطوریه؟

noroozifar
یک شنبه 20 آذر 1390, 20:51 عصر
هر جا میرم صحبت ازش هست کارش چیه چه جوری ازش استفاده میکنند ؟ BackgroundWorker

system32
یک شنبه 20 آذر 1390, 22:13 عصر
آموزش BackgroundWorker که خودم قبلنا دنبالش بودم و بعد از یافتن نحوه عملکردش اونا به صورت تایپی برای خودم آماده کردم ولی حالا می زارم برای علاقه مندان.
امیدوارم موثر واقع بشه.

yasevahshi!=true
یک شنبه 20 آذر 1390, 22:13 عصر
اگه از ديتا ست استفاده كردي فقط كافيه يك خط كد بنويسي .. مثال:
tbl_pruductTableAdapter.Fill(database1DataSet.tbl_ pruduct);

فقط يك بار table adabtor رو fill كن

ma.rad
یک شنبه 20 آذر 1390, 22:25 عصر
اگه از ديتا ست استفاده كردي فقط كافيه يك خط كد بنويسي .. مثال:
tbl_pruductTableAdapter.Fill(database1DataSet.tbl_ pruduct);

فقط يك بار table adabtor رو fill كن


دوست عزیز ما نمی خوایم اطلاعات بایند کنیم تو گرید ، ما میخوایم هر کلاینتی که تغییری ایجاد کرد تغییرات به صورت خودکار در کلاینت های دیگه اعمال بشه

night_secret
یک شنبه 20 آذر 1390, 22:28 عصر
فکر نکنم اون کاملش بهتره چون این واسه همه جا کاربرد نداره مگه نه...؟

ma.rad
یک شنبه 20 آذر 1390, 22:58 عصر
تحت شبکه چطوری میشه
اون توضیحی ضمیمه خیلی کلی بود

yasevahshi!=true
یک شنبه 20 آذر 1390, 23:07 عصر
دوست عزیز ما نمی خوایم اطلاعات بایند کنیم تو گرید ، ما میخوایم هر کلاینتی که تغییری ایجاد کرد تغییرات به صورت خودکار در کلاینت های دیگه اعمال بشه

شما يك بار امتحان كن !!! حالال شبكه رو كاري ندارم . ولي اگه اين كارو بكني گريد ويو آپديت ميشه.

yasevahshi!=true
دوشنبه 21 آذر 1390, 00:20 صبح
حالال بستگي به برنامه ات داره. نمي دونم اگه بخواي با كليك كردن انجام بشه توي رويداد كليكش بنويس... در ضمن حتما بايد dataset , table adabtor , databinding sourc
داشته باشي . چك كن. با تشكر

zarrinnegar
دوشنبه 21 آذر 1390, 01:05 صبح
ببین این ها به نظر من بدرد نمیخوره
همون backgroundworker اگر هم بخواد همچین کاری کنه داره از تایمر استفاده میکنه و اطلاعات گرید رو هی رفرش میکنه
این برای برنامه هایی که رکورد زیادی ندارن خوبه ولی اگه رکوردهات برسه به 2000 به بالا و هی رفرش بشن و هی موقعیت رکوردت توی گرید جابجا بشه چی میشه:گیج:

کاری رو که من تجربه کردم اینه که هر رکوردی رو که وارد سیستم میشه ازش یه لاگ میگیرم توی یک جدول
بعدش هر فرمی که باز میشه یه سری اطلاعات رو باید نمایش بده که همه رکورد ها رو نمایش نمیدم
میام رکورد هامو دسته ای نمایش میدم مثلا 100 تایی

بعد یه تایمر میزارم تو فرم و میگم حالا که اطلاعات رو خوندی از گرید و 100 تاشو داری نشون میدی تعداد کل رکورد های مربوط به این جدولم رو توی لاگ بشمار به من بده مثلا میگه 250
حلا اگه کاربر دیگه ای اطلاعات اضاف کنه و یا کم کنه و یا اصلاح کنه یه رکرود به این لاگ اضافه میشه و من توی تایمرم فقط تعداد رکورد لاگ رو با اونی که اول گرفتم و دیتا لود کردم مقایسه میکنم
اگه تفاوت کرد گرید رو همون جا رفرش میکنم و عدد قبلی رو با عدد جدیده عوض میکنم

حالا هر وقت اتفاقی توی یه دستگاه دیگه بیافته من باخبر میشم در ضمن اینکه لود شبکه رو هم با نمایش رکورد 100 تایی پایین میارم و سرعت برنامم همیشه بالاست

اینها توضیح بود اگه نتونستی عملیش کنی دیگه باید کدی و تصویری راهنمایی کنم که وقت میخواد

ma.rad
دوشنبه 21 آذر 1390, 10:58 صبح
دوستان کسی یه نمونه برنامه ساده با این کامپوننت داره؟ backgruondworker

ma.rad
جمعه 09 دی 1390, 16:16 عصر
اساتید میتونن کمک کنن
یه نمونه کوچیک کارمو را می ندازه