Jag har två formulär, ett med en Datagrid och ett med textrutor. Textrutorna och Datagriden är bundna till samma DataTable (via olika DataViews). Eller är det så att datatabellen inte registrerar några ändringar via Bind, och det är därför GetChanges är Nothing... mycket korkat isåfall tycker jag! Efter timmar av sökande har jag upptäckt att jag inte är den enda som har det här problemet, och att jag löser det genom att använda EndCurrentEdit. ..... Å andra sidan, så här står det i hjälpen om EndCurrentEdit: Efter att ha köpt boken ADO.NET steg för steg (Microsoft Press) för att förstå mer om databindningar och ändrat och testat fungerade det fortfarande inte... Så hittade jag en besvarad tråd på dotnet247, och en artikel på MSDN om EndCurrentEdit, varför förklarar man inte, men den metoden ska med innan update: referenser:Bundna kontroller sparar inte vid Update
Ändringar i Datagriden lagras snällt i min databas när jag kör Update, men samma Update fungerar inte för formuläret med textrutorna (GetChanges är Nothing).
Däremot återspeglas formulärets ändringar i min Datagrid!
Skumt!
Det verkar som programmet har kört AcceptChanges innan jag kör Update från formuläret med textrutorna, men jag har inte skrivit någon sådan kod. :-o
Någon som har något bra tips?
------
Såvitt jag förstår innehåller en DataView ingen egen data, den återspeglar bara en "vy" av en DataTable, och ändringar i DataViewens data sker samtidigt i DataTablen. Stämmer detta?Sv: Bundna kontroller sparar inte vid Update
Hur gör jag då för att kunna spara tillbaka mina ändringar på ett smidigt sätt?Sv: Bundna kontroller sparar inte vid Update
"Note This property was designed to be used by complex-bound controls, such as the DataGrid control, to cancel edits. Unless you are creating a control that requires this same functionality, it is not recommended that you use this method. Instead, if the data source is either a DataView or DataTable, use the DataRowView class's EndEdit method."
Ska prova EndEdit först, och sedan EndCurrentEdit...
jämmer och elände, kan databashantering bli krångligare än med ADO.NET ???Sv: Bundna kontroller sparar inte vid Update
''''''''''''''''''''''''
Sub SkapaBindning
Dim b As Binding = New Binding("Text", dtMinTabell,"mittfält")
txtDataMittFält.DataBindings.Add(b)
thisCurrencyManager = CType(Me.BindingContext(dtMinTabell), CurrencyManager)
''''''''''''''''''''''''''''''''''''
Sub Spara
thisCurrencyManager.EndCurrentEdit()
daMinDataAdapter.Update(dtMinTabell, "mittfält")
''''''''''''''''''''''''''''''''''
Jag körde även kodexemplet från CD'n i boken ADO.NET, men där fanns inte ens kommandon för att spara tillbaka kod till databasen. ÖRK! :-pSv: Bundna kontroller sparar inte vid Update
http://www.dotnet247.com/247reference/msgs/29/148828.aspx
http://msdn.microsoft.com/msdnmag/issues/03/08/advancedbasics/default.aspx
http://msdn.microsoft.com/library/en-us/dnadvnet/html/vbnet02122002.asp