Reflecting changes in the DataGridView back on the List and then updating database
I believe you will want to use a BindingList, which can notify when entries are updated.

You will need to handle the events raised in order to reflect the changes back to the original source.

See these sources for more:


Documentation : http://msdn.microsoft.com/en-us/library/ms132679%28v=vs.110%29.aspx
Previous question with some more info on List vs BindingList: https://stackoverflow.com/questions/2243950/listt-vs-bindinglistt-advantages-disadvantages
Basic example on Codeproject: http://www.codeproject.com/Articles/23222/BindingList-Example