I have searched high and low for an answer to this question and the answers I have found don't generally apply to what I am looking at and was hoping someone might have some suggestions.
I have a form that is bound to a dataset that retrieves its data from a stored procedure. The controls are bound using a table adapter and a binding source.
The form contains many table adapters and binding sources but only one dataset and I'm finding out that in order to do what I want to do, a large drawn out process might be what needs to be done to achieve this.
Basically what I am looking for is a way to place a little asterisk "*" in the title bar of the window when the user makes a change to the data displayed to indicate that the data needs to be saved.
My problem is 2 fold:
1. Finding a method (preferably one that doesn't require me to loop through the entire dataset) that would indicate a change occured to a specific table.
2. Finding an event (preferably just one that I wouldn't have to apply to each and every possible control that the user can edit) that would perform the task above (#1).
This seems like it shouldn't be as difficult as getting the changes for an entire data set using the .HasChanges() method and looping through potentially multiple irrelevant changes when I am only looking for changes to one specific table, and even then, just one specific row.
Even if I have to use the HasChanges() method, I still can't find a useful event to call the method in other than TextChanged for a textbox or CheckedChanged for checkboxes etc... which would call the method a ridiculous number of times and would require subscribing a numerous amount of controls to those events, a task that seems to beg for problems.
Any ideas?