משיב מוביל
grid.DataSource = ExpandoObject

שאלה
-
תשובות
-
עבודה עם אלמנטים דינאמיים זה משהו מאוד מסוכן! ובדרך כלל לא מומלץ. בעצם אתה לוקח שפה כמו C# שמקימת בדיקות סוגים ומבטל את היכולות שלה, והופך אותה לשפה שיותר דומה לשפות דינאמיות כמו VBS. אחת הבעיות בעקריות בשפות דינאמיות היא שמשתנה מסויים מקבל את הסוג שלו בצורה ינאמית ויכול לשנות את הסוג של המשתנה תוך כדי הרצה. למשל ב VBS אתה יכול לקבוע בלי להגדיר את סוג המשתנה ש x=4 ואז סוג המשתנה יהיה משפר שלם אבל מייד אחרי כמה שורות אתה יכול להצבע x="fgs" והמשתנה משנה את הסוג לשרשרת טטקסט.
עם ההקדמה הזו תחזור לקוד שלך עתה, ותבדוק מה סוגי האלמנטים שאתה עובד איתם, מה הערכים שמגיעים לכל אובייקט (למשל ל grid) ומכאן מה הפתרון.
* אם צריך תנסה לבצע המרות של סוג המשתנה לפני שאתה עובד איתו (המרה מפורשת ולא מרומזת)
[Personal Site] [Blog] [Facebook]
- נערך על-ידי pituachMVP, Moderator יום שני 29 ספטמבר 2014 09:23
- הוצע כתשובה על-ידי Eran Sharvit יום שלישי 30 ספטמבר 2014 12:59
- סומן כתשובה על-ידי Eran Sharvit יום שלישי 07 אוקטובר 2014 09:08
כל התגובות
-
עבודה עם אלמנטים דינאמיים זה משהו מאוד מסוכן! ובדרך כלל לא מומלץ. בעצם אתה לוקח שפה כמו C# שמקימת בדיקות סוגים ומבטל את היכולות שלה, והופך אותה לשפה שיותר דומה לשפות דינאמיות כמו VBS. אחת הבעיות בעקריות בשפות דינאמיות היא שמשתנה מסויים מקבל את הסוג שלו בצורה ינאמית ויכול לשנות את הסוג של המשתנה תוך כדי הרצה. למשל ב VBS אתה יכול לקבוע בלי להגדיר את סוג המשתנה ש x=4 ואז סוג המשתנה יהיה משפר שלם אבל מייד אחרי כמה שורות אתה יכול להצבע x="fgs" והמשתנה משנה את הסוג לשרשרת טטקסט.
עם ההקדמה הזו תחזור לקוד שלך עתה, ותבדוק מה סוגי האלמנטים שאתה עובד איתם, מה הערכים שמגיעים לכל אובייקט (למשל ל grid) ומכאן מה הפתרון.
* אם צריך תנסה לבצע המרות של סוג המשתנה לפני שאתה עובד איתו (המרה מפורשת ולא מרומזת)
[Personal Site] [Blog] [Facebook]
- נערך על-ידי pituachMVP, Moderator יום שני 29 ספטמבר 2014 09:23
- הוצע כתשובה על-ידי Eran Sharvit יום שלישי 30 ספטמבר 2014 12:59
- סומן כתשובה על-ידי Eran Sharvit יום שלישי 07 אוקטובר 2014 09:08
-
-
בעקרון אלמנט דינאמי אמור לקבוע בצורה דינמית סוג אלמנט אחר, אני לא יודע בוודאות איה סוגים נתמכים בו אבל אניט לא רואה מניעה לכך שתקבע סוג שמתאים לגריד. עלייך רק למצוא את הדרך לוודא שאתה עובד כך שאתה יוצר אלמנט שמתאים לגריד (אלמנט טבלאי כלשהו למשל).אתה תמיד יכול לבצע בדיקה דינאמית לשם הדיבאג ולהציג את סוג האלמנט שיצרת בצורה דינאמית! תבדוק מעשית למה זה לא עבד עוד לפני השימוש על ידי בדיקת הסוג typeof
http://msdn.microsoft.com/en-us/library/58918ffs.aspxבכל מקרה לפעמים אלמנטים מספיק קרובים וניתן לנסות לבצע המרות של אלמנטים (COMVERT או CAST) מסוג אחד לשני. במקרה שלך תבדוק את סוגי האלמנטים! תנסה למשל ליצור טבלה ולהכניס לגריד. יעבוד? עתה תנסה להגדיר אלמנט דינאמי ולהגיד שהוא שווה לטבלה. תנסה לעבוד אתו ככה, יעבוד? אם בצורה דינאמית יצרת אלמנט טבלה אז היא תתנהג כמו טבלה. * גריד נועד לאלמנ טים טבלאיים בעקרון כמו dataset או datatable. אבל לגבי עבודה ישירה הרי שאה חייב לוודא שהאלמנט שנקבע דינאמית מתאים לאלמנט שניתן הכניס לגריד.
[Personal Site] [Blog] [Facebook]