Ho questo problema. Datagridview bindata a una datatable che è riempita tramite dataAdapter
Tutto funziona bene tranne un caso
La tabella ha il classico campo ID Automatico, che rappresenta la chiave tramite la quale gli Update e Delete del dataAdapter lavorano. E' un campo caricato nella datatable, ma ovviamente è vuoto per record inseriti dalla form dettaglio (almeno fino a quando non ricarico la tabella). Questo mi da problemi se per qualche ragione devo modificare una campo del record appena inserito (lo posso fare direttamente nella dgv) perchè a quel punto l'Update del dataAdapter non riesce a lavorare (gli manca l'ID)
Ho provato a risolvere mettendo un
dtAdapter.Fill(dtTable) dopo il dtAdapter.Update(dtTable)
Così tutto si sistema, ma perdo le impostazioni della dgv, se ho fatto un ordinamento per una colonna, se mi sono posizionato su un record e altre cose.
New OleDb.OleDbDataAdapter("Select * from [Part]", mdbConnSTR_Customer)Tramite una form di dettaglio inserisco delle nuove righe nella datatable e con il metodo update del dataAdapter aggiorno il DB
commandBuilder = New OleDb.OleDbCommandBuilder(dtAdapter)
Tutto funziona bene tranne un caso
La tabella ha il classico campo ID Automatico, che rappresenta la chiave tramite la quale gli Update e Delete del dataAdapter lavorano. E' un campo caricato nella datatable, ma ovviamente è vuoto per record inseriti dalla form dettaglio (almeno fino a quando non ricarico la tabella). Questo mi da problemi se per qualche ragione devo modificare una campo del record appena inserito (lo posso fare direttamente nella dgv) perchè a quel punto l'Update del dataAdapter non riesce a lavorare (gli manca l'ID)
Ho provato a risolvere mettendo un
dtAdapter.Fill(dtTable) dopo il dtAdapter.Update(dtTable)
Così tutto si sistema, ma perdo le impostazioni della dgv, se ho fatto un ordinamento per una colonna, se mi sono posizionato su un record e altre cose.