עבור לתוכן

עזרה ב - DataGrid #C

Featured Replies

פורסם

שלום לכולם, אני מנסה לבנות איזשהו כלי בסי שארפ שאחד מהדברים שאני זקוק להם זה הדבר הבא:

יש לי מערך נתונים דינמי שמשנה את תוכנו ומספר איבריו כל שניה (מתוזמן ע"י שעון).

כל איבר במערך הזה מהווה שורה ב-DATA GRID כך שבזמן הטעינה אני מקבל טבלה עם N שורות שהמערך הכיל בזמן טעינת הטופס. הבעייה שלי, איך לעדכן את ה-DATA GRID בכל פעם שאוסף הנתונים שלי משתנה בדרך יעילה . (האמת כל דרך לבנתיים תספיק העיקר לעלות על כיוון כלשהו חח). המערך משתנה בכל תיזמון שעון.

אני מאוד אשמח לעזרה חברים, זה חלק מפרוייקט גדול שאני עובד עליו.

המון תודה

scizoeffective@gmail.com

אלברט

פורסם

אם השינוי הוא רק בשורות של המערך (מוחק או מוסיף איברים), תשנה את הקוד כך שהמערך ירש מ BindingList<T>. המחלקה הזאת מממשת interface של IBindingList שדואג להודיע ל Data Grid על שינויים בשורות המערך - כך אתה לא צריך לעשות דבר וה-Data Grid יתעדכן מעצמו.

אם העדכון שלך כולל גם ערכים בשורות (שינוי באיברים עצמם), האיברים שלך צריכים לממש interface של INotifyPropertyChanged. תקרא ב MSDN מה הדרישות למימוש. בדומה ל IBindingList, כאשר ערך באיבר משתנה, ה-Data Grid יתעדכן אוטומטית ללא צורך בקידוד נוסף מצדך.

פורסם
  • מחבר

תודה רבה על התגובה אחי.

אני אנסה לממש את מה שהסברת פה בתקווה להצליח.

פורסם
  • מחבר

שאלה נוספת :

ה BINDINGLIST שלי, מתמלאת באיברים בפעם הראשונה ואני יכול לראות להציב אותה כ DATA SOURCE ואני באמת רואה את כל האיברים כשורות ועמודות.

הבעייה היא כזאת: הרשימה עצמה מכילה פרטים על תהליכים הרצים במערכת. הצורה בה אני דוגם את פרטי התהליכים היא בריצת שעון כל שנייה קורא למתודה

PROCESS.GETPROCESSES

לאחר שאני מקבל את הפרטים, אני עורך אותם לתוך הרשימה שהכנתי וקושר לDATAGRID. למעשה כל תזמון שעון, אני מוחק את הרשימה הישנה ומציב פרטים חדשים מהדגימה האחרונה. כל פעם כזאת, ה-DATAGRID מתרענן לי. אני לא רוצה את הרענון הזה זה תוקע את כל התוכנה.

אשמח לעזרה!

פורסם

אתה לא צריך לקשר את הרשימה מחדש בכל פעם, פעם אחת מספיקה. אל תדרוס את הרשימה בכל ריצה - תשווה בין הרשימה החדשה והישנה ותעדכן את הישנה בהתאם לשינויים בלבד.

פורסם
  • מחבר

;)

בדיוק מה שהתחלתי לעשות עכשיו

תשמע אחי המון תודה, באמת עזרת לי מאוד!!

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים