Ben,Unfortunately, this problem isn't so easily fixed. I think its a bug in the way parent/child relationships are handled. Here's what I found: after the call to the child object's Add() method, its count property is 0 but the number of rows in its datatable is 1. Because the child's CurrentView contains no rows, its Refresh() method had no affect. As I mentioned in my first message, the primary keys of these objects are not auto-incremented. Because the key fields are bound to textboxes, I had to set those properties to return an empty string when null (in order to keep an exception about assigning DBNull to the text property of the textbox from being thrown when a new record is added). So, what's happening is that in the parent object's AfterAddNew event, its primary key property returns an empty string but the corresponding field in its CurrentDataTable is DBNull. When the child object's Add() method is called inside this event, a new row is added to the child's CurrentDataTable. The field in this new row that corresponds to the parent object's primary key will be DBNull but the CurrentView's rowfilter will be ParentPrimaryKeyField = ''. Let me know what you think. Thanks for your help.
Fran Parker