You would probably be better served waiting for the 2.0 release which simplifies working with hierarchies.
If you want to do it now, you have to handle the RowExpanded and RowCollapsing events and dynamically subscribe\unsubscribe to the childlist.ListChanged event. I am not sur ehow easy it will be to cancel this event though.
private void gridDataBoundGrid1_RowExpanded(object sender, GridRowEventArgs e)
{
GridBoundRecordState state = gridDataBoundGrid1.Binder.GetRecordStateAtRowIndex(e.RowIndex);
((IBindingList)state.ChildList).ListChanged += new ListChangedEventHandler(list_ListChanged);
}
private void gridDataBoundGrid1_RowCollapsing(object sender, GridRowEventArgs e)
{
GridBoundRecordState state = gridDataBoundGrid1.Binder.GetRecordStateAtRowIndex(e.RowIndex);
((IBindingList)state.ChildList).ListChanged -= new ListChangedEventHandler(list_ListChanged);
}