עדכון טבלה מתוך הדטה גריד
-
כתבתי טבלה של הזנת תרומות (אחרי שסיימנו עם כל הבינדיג של הקומבוקסים :lol: )
ועכשיו אני רוצה שהוא ישמור את כל הנתונים בדטה בייס.
אם אני מבין נכון, אז בזכות הבינדינג כל הנתונים שהזנתי בטבלה נשמרים מיד, אלא שזה נשמר בתצוגה (עצם בשם donoationViewSource מסוג CollectionViewSource).
עכשיו שאלתי ובקשתי היא: איך אני מעדכן את זה בדטהסט עצמו?
נראה לי מיותר ליצור שורה חדשה, ולעדכן כל עמודה בתוכה לתא מסוים, שהרי כבר עשיתי בינדינג לא??
אז אם אני מבין נכון, אני צריך לשלוח את הdonationViewSource לדטה אדפטר בתוך פקודת UPDATE?
אלא שהוא לא נותן לי לשלוח עצם כזה בתוך פקודת הUPDATE.. אז כיצד אני עושה זאת??
תודה רבה רבה!!פורסם במקור בפורום CODE613 ב22/07/2015 18:30 (+03:00)
-
adventureWorksLTDataSetProductTableAdapter.Update(AdventureWorksLTDataSet.Product);
או
AdventureWorksLTDataSetProductTableAdapter.Update(AdventureWorksLTDataSet.Product)
מקור
https://msdn.microsoft.com/en-us/library/dd547149.aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-6פורסם במקור בפורום CODE613 ב22/07/2015 20:51 (+03:00)
-
כתבתי את המתודה הנ"ל:
private void Button_Click(object sender, RoutedEventArgs e) { AvrTrumaDataSet avrTrumaDataSet = ((AvrTrumaDataSet)(this.FindResource("avrTrumaDataSet"))); var changes = avrTrumaDataSet.GetChanges(); if (changes!=null) { AvrTrumaDataSetTableAdapters.DonoationTableAdapter aTA = new AvrTrumaDataSetTableAdapters.DonoationTableAdapter(); aTA.Update(avrTrumaDataSet.Donoation); avrTrumaDataSet.Donoation.NewDonoationRow();//מוסיף שורה חדשה aTA.Fill(avrTrumaDataSet.Donoation); CollectionViewSource donoationViewSource = ((CollectionViewSource)(this.FindResource("donoationViewSource"))); donoationViewSource.View.MoveCurrentToFirst(); } }
אני לוחץ על הכפתור, אבל כלום לא קורה..
בדקתי בpreview data והכל ריק..פורסם במקור בפורום CODE613 ב22/07/2015 21:48 (+03:00)