this.DataRow = dr;When you call the NewRow method, it adds a new row to the business object's DataSet/DataTable. The new DataRow is surfaced in the business object's DataRow property, but internally, it belongs to the business object's DataSet/DataTable.
private void btnSave_Click(object sender, System.EventArgs e) { // Retrieve the original DataSet from the Session variable DataSet dsOrder = (DataSet)Session["dsOrder"]; // Call the Web Form's Save method, passing the business object and the original data. // The business object raises a Saving event and all bound Web controls // bind their data back into the DataSet if (this.Save(this.oOrder, dsOrder, this.oOrder.TableName) == mmSaveDataResult.RulesPassed) { Response.Redirect("CustomerOrders.aspx"); } }Notice that you first retrieve the original DataSet from a session variable. Afterwards, you pass it to the business object's Save() method (second parameter). Before the business object saves the data, it raises a Saving event. User interface controls that are registered as listeners of the business object (based on what you've entered in the UI controls' binding properties at design time), respond to the Saving event by automatically storing there values back into the business object's DataSet/DataTable.