Except for a few strange errors: I get the error in the subject after: updating the same row 2 times, deleting a new inserted row, after updating a row when an other row was deleted (word changes to Delete Command) None of the solutions I found on Google workes for me. Here is te code: Is there a Timestamp column (or any other column that is changed/filled on the Db server) ? Some of these fields are being updated from combinations of other fields. If one of the calculated fields gets recalculated after you End Edit and before you Update, this will cause a dbconcurrency violation. Your problem could happen when the in-memory row is different from what's in the Db. This error doesn't have to mean that the row doesn't exist any more. And because you use a SP for the Select Cmd there (probably) is no refresh after an update. It simply means that it didn't update a row for some reason. In our application we have calculated columns where the column is the result of some calculation of two or more other columns. I have been chasing this error in my application for weeks! My reason was that the data had three different states so it thought that someone else had changed the data before I called the Update. Hope this can help point someone else in the right direction for their application. They occur when the new content entered by the user is about to be committed.Currently the validation occurs on row and cell level.
Both Cell Validating and Row Validating events allow you to stop the commit process by setting the boolean property Is Valid to False.
The Cell Validating event occurs always before the Cell Validated event when the edited cell is about to lose its focus.
If the focus is moved to a cell in the same row, then no other events occur.
BTW, this is a single MDF located on the users computer so no one else has access to it to change it during the Update.
How can I programmatically set the value in the cell when the form loads? @Stepler don't set the value during the formatting event (This will probably make it impossible to change the value manually or do something equally weird) - it is usually best to do in the databindingcomplete event. And are you sure that the value you are setting is in the datatable id column?
To run this example, create a windows form, and add a Gc Multi Row control to the form.