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

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

کاربر سایت

amiramir

عضویت از 1393/10/10

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

  • چهارشنبه 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ثانیه آپدیت می شود ولی وقتی داده ها را ویرایش می کنم،دیتا گرید آپدیت نمی شود!!!!

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

پاسخ های این پرسش

تعداد پاسخ ها : 4 پاسخ
کاربر سایت

رضا نصیری

عضویت از 1392/10/01

  • چهارشنبه 26 مهر 1396
  • 13:51

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

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

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

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

کاربر سایت

amiramir

عضویت از 1393/10/10

  • چهارشنبه 26 مهر 1396
  • 22:39

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

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

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

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

کاربر سایت

رضا نصیری

عضویت از 1392/10/01

  • چهارشنبه 26 مهر 1396
  • 23:56

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

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

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

کاربر سایت

amiramir

عضویت از 1393/10/10

  • شنبه 29 مهر 1396
  • 10:21

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

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

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

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

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)