SQL: עבודה עם אובייקט DataSet
-
קראתי בכמה ספרים איך אני אמור להשתמש בדטהסט ולעבוד איתו כדי לשמור את הנתונים בתכנית ואח"כ לעדכן אותם בדטהבייס.
יצרתי סטרינגקונקשיין וגם אובייקט דטה סט חדש.
גררתי מהדטה סורס בצד את הרשימה של הטבלה וראיתי שנוצר הקוד הבא:private void Window_Loaded(object sender, RoutedEventArgs e) { TrialSQL1.AvrTrumaDataSet avrTrumaDataSet = ((TrialSQL1.AvrTrumaDataSet)(this.FindResource("avrTrumaDataSet"))); // Load data into the table Person. You can modify this code as needed. TrialSQL1.AvrTrumaDataSetTableAdapters.PersonTableAdapter avrTrumaDataSetPersonTableAdapter = new TrialSQL1.AvrTrumaDataSetTableAdapters.PersonTableAdapter(); avrTrumaDataSetPersonTableAdapter.Fill(avrTrumaDataSet.Person); CollectionViewSource personViewSource = ((CollectionViewSource)(this.FindResource("personViewSource"))); personViewSource.View.MoveCurrentToFirst(); }
א. בשורה הראשונה הוא יוצר מופע חדש של הדטהסט שיצרתי ואם אני מבין הוא נותן לו פקודה לחפש את הדטהסט המקורי ולהציב אותו בו?
ב. אח"כ הוא יוצר מופע של tableadapter וממלא אותו בנתוני הטבלה של אנשי הקשר, ואז הוא קורא ל:personViewSource.View.MoveCurrentToFirst();
מה פירושו של דבר? (אני מבין שהוא בעצם נותן פקודה להציג את הערכים, אבל אשמח אם מישהו יוכל להסביר לי? (כי לא מצאתי שום התייחסות לדברים הללו בספרים שמצאתי..)
תודה רבה ותבורכו מן השמים!!פורסם במקור בפורום CODE613 ב14/07/2015 01:18 (+03:00)
-
שורה 4 זה לא יצירה אלא אחזור המופע שהוצהר עליו בריסורס בXAML.
שורה 6-7 כפי שאמרת זה מילוי הטבלה Person.
שורה 8 מאחזרת את הCollectionViewSource שאף הוא הוצהר כבר בXAML.
בשורה 9 מגדירים לCollectionViewSOuce מה הרשומה הנוכחית שלו. ומה? השורה הראשונה.
האובייקט הזה - הCollectionViewSource - משמש כעטיפה לאוסף בWPF. במקום להזין לדטה גירד את הטבלה עצמה (שזה אפשרות פשוטה יותר), בדרך זו אתה נותן לדטה גריד את הCollectionViewSource כמקור נתונים, והוא עצמו מקבל במאפיין Source את האוסף - במקרה שלנו טבלה.
הפלוסים של הCollectionViewSource זה פלטור ומיון עצמאיים בלי לשנות את המקור, וגם ניווט. ניווט זה הגדרה על איזו רשומה הפוקוס עכשיו. מה זה משנה? כמה השלכות של UI.פורסם במקור בפורום CODE613 ב14/07/2015 12:01 (+03:00)