70٪ تخفیف ویژه جشنواره تابستانه توسینسو
پایان تخفیف تا:
مشاهده دوره‌ها
0

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

سلام

من می خوام دیتا گریدم هر 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();                         
        }

من وقتی داده ای را به دیتاگریداضافه می کنم یا یا داده ای را از دیتا گرید ویرایش می کنم با اجرای تابع دیتا گرید من باید ویرایش شود ولی این تابع برای دستور افزودن به خوبی کار می کند،اما برای دستور ویرایش کار نمی کند!!!

ممنون می شوم که راهنمایی ام نمایید

پرسیده شده در 1396/07/26 توسط

4 پاسخ

0

سلام

قبل از دستور bulletinDataGrid.ItemsSource = db.tblFlight.ToList();

باید ابتدا شی db رو new کنید در غیر اینصورت linq داده های کش شده رو بهتون نشون میده و نه الزاما داده های داخل جدول پایگاه داده رو.

پاسخ در 1396/07/27 توسط
0

بله دوست عزیز برنامه شما مسئله ای در زمینه اجرا شدن نداره ولی مشکل شما اینه که بعد از ویرایش اطلاعات تغییرات رو در دیتاگریدتون مشاهده نمی کنید با اینکه داده ها در پایگاه داده عملا تغییر کرده اند این مشکل به دلیل کش شدن داده ها در databasecontext هست که برای رفعش باید یا هر بار شی db تون رو new کنید یا قبل از دستور db.tblFlight.ToList(); از دستور db.ObjectTrackingEnabled = false; استفاده کنید. موفق باشید.

پاسخ در 1396/07/29 توسط
0

این کار رو هم انجام دادم ولی ObjectTrackingEnabled شناسایی نمیشه!آیا چیزی رو باید using کنم یا ....

اینم عکسش

این کار رو هم انجام دادم ولی ObjectTrackingEnabled شناسایی نمیشه!آیا چیزی رو باید using کنم یا ....
اینم عکسش
||https://programming.tosinso.com/files/get/036db4b7-5641-42d7-a507-02a5459d9d91||
تشکر

تشکر

پاسخ در 1396/07/30 توسط
0

بابت پاسخگویی تون مچکرم

من new کرده ام(البته بیرون از بلاک،چون db را در چند جا می خواهم استفاده کنم) و برنامه من خطایی نمی دهد و به راحتی اجرا می شود.

پاسخ در 1396/07/29 توسط

پاسخ شما