I'm having problems refreshing a DataGrid that a custom business
object collection (PeopleCollection) is binded to. The
PeopleCollection class maintains a collection of PersonInfo items.

The PeopleCollection class inherits from CollectionBase and implements
IBindingList. The PersonInfo class implements IEditableObject and
IDataErrorInfo.

What I have so far, is when a user double clicks a row on the DataGrid
a 'Person Details' form is displayed showing the details of the person
selected. The details of the person may be changed via textboxes on
the form. This works well. Problem is if the user changes, say, the
name of the person on the form and clicks the OK button the Person
Details form is closed, but the new name is not displayed in the
DataGrid (it still displays the old data). I know the new name is
propagated to the PersonInfo object cause if I click on the row that
was changed by the form the DataGrid decides to refresh itself,
therefore displaying the new name. So, how do I update the DataGrid
when the PersonInfo object is updated? I know the PersonInfo object
should be notifying the PeopleCollection object, which should then
raise the ListChanged event.

The DataGrid updates nice and well on addition and removal of people
from the the collection. Problem is only with modification of person
objects.

I've been working with a small sample program that you can download
from microsoft's website.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnadvnet/html/vbnet02252003.asp

Hope you can understand my problem and help out. If there's any
articles on the web that may point me in the right direction, let me
know.

Thanks a bundle to all replies. Much appreciated.