I have an app which allows the user to effectively free-edit a database table. In a seperate datagrid I am displaying the changes to this table before they are commited.

Currently I am just binding the audit grid to a dataview on the underlying table, selecting Added, ModifiedCurrent, and Deleted row states. Unfortunately this is a bit unclear as it does not distinguish, to the user, the difference between updated and deleted rows. Furthermore, if you update a row it is added to this audit list; if you then delete that same row, nothing changes in the audit list, so you may be forgiven for mistakenly thinking that the program is just going to commit the updated value as opposed to actually delete the row.

I think the correct way to do what I want would be to hook some events on the underlying datatable, and generate my own dataset with the audit information, including details about row deletion/update status.

Would this be the correct way to tackle the problem? If so, how should I go about it?


Thanks in advance.