I have created a DataSource Object that refers to a class I have created, this DataSource is binded to a DataGridView Control to display the contents of the class which works perfectly.

I am trying to add and remove items from the DataGridView dynamically, but should I do it by removing or adding the item from/to the class or the BindingDataSource?

VB Code:
  1. Dim Accts As New AccountsCollection()
  2.  
  3. AccountCollectionBindingSource.AddNew(New Account("A","B"))
  4. AccountCollectionBindingSource.RemoveAt(1)
  5.  
  6. ' Or
  7.  
  8. Accts.Add(New Account("A","B"))
  9. Accts.RemoveAt(1)

Both these methods work to adding or removing an item from the class object but which method is prefered or doesn't it matter?

The second part of my question is how do I get the DataGridView to reflect the changes?

VB Code:
  1. ' Now reset the datasource to reflect the changes?
  2. AccountCollectionBindingSource.DataSource = Accts

The changes never are reflected until I restart the application.