Creating and Binding Epi controls Dynamically

At runtime I am creating a EpiTextBox control on a Customer->Ship To sheet. I create the control and bind it as follows:

EpiTextBox newTextBox = new EpiTextBox();
newTextBox.Location = new System.Drawing.Point(li_x+100 ,li_y);
newTextBox.DataBindings.Add(new Binding("Text",_edvShipTo.dataView,_ud40Adapter.UD40Data.UD40.Rows[li_i][FIELDNAME].ToString()));
newTextBox.EpiTransaction = oTrans;

_edvShipTo is an EpiDataView member variable that is set (in method InitializeCustomCode) to the ShipTo dataview as follows:
_edvShipTo = ((EpiDataView)(oTrans.EpiDataViews["ShipTo"]));

note: ud40Adapter is a child table that holds the custom control data, i.e control type, field to bind to etc. It is a child table of the Customer table.

When the form loads the custom fields are bound to a shipto, but when I select a different ship to, using the treeview, the data in the controls that were bound via the customization screens changes, but the data for the controls that were added at run-time does not change.

It's as though the controls are bound to only one row in the ship to view.

Does anyone have an example of binding controls dynamically at runtime?