איך להציג דטה בייס בdataGrid בWPF?
-
בעבר כתב לי דוד ל.ט. שהפקד dataGrid הוא פקד כבד מאוד עם הרבה פונקציות, ולכן לא מומלץ להשתמש בו, אלא הוא משתמש בlistBox כדי להציג מידע מרשימות.
אולם, בטופס שבניתי השתמשתי ב2 התצוגות כדי ללמוד איך להשתמש בשניהם, ואמנם הDataGrid הרבה יותר מסובך, אבל התצוגה בתוך הטבלה הרבה יותר נעימה לעיניים, והרבה יותר ברורה (כך לענ"ד). (אולי אפשר גם לעשות טבלה בתוך הליסטבוקס אבל עדיין לא עליתי על זה..)אך דא עקא, שלא הצלחתי עדיין ללמוד איך להשתמש בו (למרות שניסיתי לשחק בהגדרות הרבה, וגם לחפש אצל הרב גוגל עד כמה שבינתי השיגה).
לכן אשמח אם תוכלו לגלות לי את רזי הגדרותיו:
א. איך אני משנה את העמודות בטבלה שהוא מציג לי? עשיתי לו בינדינג לליסט שלי, והוא מציג לי את הערכים לפי א-ב, אך אני רוצה שקודם הוא יציג את הID ואח"כ את השם וכו' - איך עושים זאת?
ב. כמו"כ איך אני מגדיר שהוא יציג לי רק חלק מהערכים ולא את כולם?
ג. איך אני מקשר אותו לדטה בייס שלי? הצלחתי לעשות לו בינדינג לליסט שלי, אך לדטה בייס לא, למרות שיצרתי אובייקט של dataSet ויצרתי stringConecction?
תודה רבה מראש!!פורסם במקור בפורום CODE613 ב09/07/2015 00:15 (+03:00)
-
ג. איך אני מקשר אותו לדטה בייס שלי? הצלחתי לעשות לו בינדינג לליסט שלי, אך לדטה בייס לא, למרות שיצרתי אובייקט של dataSet ויצרתי stringConecction?
לגבי השאלה הזאת הסתדרתי, כי ראיתי שהייתי צריך להגדיר את הדטה קונקשיין לפרוייקט של הWPF ואז הוא נותן לי לגרור טבלה ישירות לטופס ולהציג אותה בגריד.
פורסם במקור בפורום CODE613 ב09/07/2015 01:45 (+03:00)
-
(אני לא אמרתי שDataGrid לא מומלץ אלא שכשלא נדרשות יכולתיו אז הוא מיותר. ועניין המראה שנראה לך בDataGrid יותר טוב זה מהעדר הכרות עם ListBox או בגלל שאכן אתה צריך טבלה עם תאים שאז ודאי שDataGrid הוא האידאלי).
יש בDataGrid מאפיין ששמו AutoGenerationColumn. כיון שבברירת מחדל הוא חיובי אז כשאתה מציין ItemsSource הפקד בודק לבד איזה מאפיינים יש לכל אלמנט באוסף. ולפיהם יוצר עמודות. בשביל לשלוט מה להציג ואיך יש ליצור את העמודות לבד (זה לא מדוייק, כי אפשר לקסטם את היצירה האוטומטית בכמה דרכים אבל הם לא רלוונטיים למקרה של DataTable שכמדומני שזה מקור הנתונים שלך).
בשביל לייצר עמודות לבד פשוט צריך למלא DataGridXXXXColumn במאפיין DataGrid.Columns. הXXXX מציינים סוג, כי יש כמה (טקסט, תיבת סימון ועוד).פורסם במקור בפורום CODE613 ב09/07/2015 16:37 (+03:00)