مرجع تخصصی برنامه نویسان

بزرگترین انجمن برنامه نویسان فارسی زبان

آموزشگاه برنامه نویسان

مشکل در آپدیت دیتاگرید در حلقه زمانی

چهارشنبه, 26 مهر 1396 13:08

مشکل در آپدیت دیتاگرید در حلقه زمانی

من می خوام دیتا گریدم هر 5ثانیه یکبار آپدیت بشه.در رویداد لود فرمم کد زیر را نوشته ام:

System.Windows.Threading.DispatcherTimer dispatcherTimer = new System.Windows.Threading.DispatcherTimer();
            dispatcherTimer.Tick += new EventHandler(updaterDGV);//فراخوانی تابع
            dispatcherTimer.Interval = new TimeSpan(0, 0, 5);//حلقه زمانی اجرا ی تابع برحسب ساعت،دقیقه و ثانیه 
            dispatcherTimer.Start();//شروع تایمر

تابعی که در بالا استفاده کرده ام نیز به این شرح است:

public void updaterDGV(object sender, EventArgs e)//تابعی که در حلقه زمانی اجرا می شود
        {
            //این تابع بر اساس زمانی که در رویداد لود دیتا گرید،تعریف می شود،دیتا گرید را به روزرسانی می کند
            bulletinDataGrid.ItemsSource = db.tblFlight.ToList();                         
        }

حالا مشکل من اینه که وقتی به دیتا گرید داده ای رو اضافه می کنم،دیتا گرید هر5ثانیه آپدیت می شود ولی وقتی داده ها را ویرایش می کنم،دیتا گرید آپدیت نمی شود!!!!

ممنون از راهنمایی تون

آکادمی برنامه نویسان تلگرام برنامه نویسان
چهارشنبه, 26 مهر 1396 13:51

نقل قول : مشکل در آپدیت دیتاگرید در حلقه زمانی

اطلاعات در دیتابیس ویرایش میشوند و در گردید نمایش داده نمیشن؟؟ یا کلا سمت دیتابیس هم تغییر نمیکنن؟؟

آخه میدونید 5 ثانیه منطقی نیست که. شاید مدت ویرایش یک ردیف توسط یک کاربری بیش از 5 ثانیه طول کشید.

اطلاعاتی که ثبت کرده باید دوباره از بین بره؟!!!!

از بریک پوینت استفاده کنید ببیند بعد از ویرایش وارد تابع updaterDGV میشه یا نه.

کسانی که از این پست تشکر کرده اند : amiramir,
چهارشنبه, 26 مهر 1396 22:39

نقل قول : مشکل در آپدیت دیتاگرید در حلقه زمانی

اطلاعات در دیتا بیس ویرایش می شوند ولی دیتا گرید آپدیت نمی شود.سوالام رو جور دیگه می پرسم(ظاهرا منظورمو خوب بیان نکردم)

این تصویر،صفحه اصلی برنامه منه:

در این برنامه وقتی کاربر روی دکمه افزودن یا ویرایش کلیک می کنه،یه پنجره جدید باز میشه که داخل اون من اطلاعات رو اضافه یا ویرایش می کنم.حالا با افزودن اطلاعات به بانک یا ویرایش اطلاعات بانک،باید دیتا گرید من تو صفحه اصلی، آپدیت بشه.چطوری این کار را باید بکنم؟

روش بالا رو انجام دادم،در مورد دکمه افزودن درست کار میکنه(دیتاگرید رو توصفحه اصلی آپدیت می کنه) ولی با ویرایش کردن داده،دیتا گرید رو آپدیت نمیشه!

کسانی که از این پست تشکر کرده اند :
چهارشنبه, 26 مهر 1396 23:56

نقل قول : مشکل در آپدیت دیتاگرید در حلقه زمانی

خب چه لزومی داره ا تایمر استفاده کنید و بار بیخود در هر 5 ثانیه رو سرور تحمیل کنید.

یه Instance بنویسید. و تو فرم بعد از Insert - Update توسط اون Instance متد آگدیت گرید رو صدا بزنید.

خیلی راحت به هدفتون میرسید.

کسانی که از این پست تشکر کرده اند : amiramir,
شنبه, 29 مهر 1396 10:21

نقل قول : مشکل در آپدیت دیتاگرید در حلقه زمانی

دوست عزیز من مبتدی ام.لطف می کنید یه منبع خوب برای آموزش این کار بهم معرفی کنید؟

من هیچی درمورد instance ها نمی دونم!جستجو هم کردم،مطلبی که به درد این کارم بخوره رو پیدا نکردم!

بی نهایت سپاسگزارم

کسانی که از این پست تشکر کرده اند :

ارسال پاسخ برای این تاپیک

ارسال پاسخ مخصوص اعضا سایت می باشد ! میتوانید با حساب کاربری خود وارد سایت شده یا ثبت نام کنید