I have a gridview that displays invalid records.
On the same page i have the facility to edit these records, which makes them valid.
When they become valid the disappear from the view, and so disappear from the gridview.

The problem is introduced with these events:

User1 loads the gridview.
User2 loads the gridview.
User2 clicks 'edit' on the gridview
User1 makes a record valid and it's removed from the view. I rebind the datasource so their gridview now shows the record removed.
User2 makes the changes and clicks 'update'

It seems to create a duplicate record when the update happens, although i'm not 100% on that. What does happen though is that if they have something selected and inbetween postbacks a record is removed the selected record is no longer the same (since all records have moved up one).

How do people usually get round this issue??