StrataFrame Forum

StandardForm and BO IncludeInFormEdit

http://forum.strataframe.net/Topic2160.aspx

By Scott - 8/11/2006

I have two BOs on a form,  B1 and B2.  B1 is the primary BO of the form, I have set the IncludeInFormEdit to TRUE on B2.  When I call this.Edit() only the fields that are bound to B1 go into edit mode, B2 fields only go into edit mode if I directly call the Edit method of B2.  Am I missing something here?

Also if I change the data in one of the field and then use the BrowseDialog to select a new record there is no message to save the changes before switching records.  What method must I call so that the user will be prompted to save any changed data?  If you close the form without saving any changes the user is automatically prompted, I want to duplicate this beheavior.  Should I just check the isDirty property of the BO and prompt with my own message?

By StrataFrame Team - 8/11/2006

As for your first question, Scott, there is a corresponding property on the form called IncludeInFormEdit that accepts an enum value.  By default, it is set to PrimaryBusinessObject which is why only your B1 is editing.  There are two other values that you can set that property to: DeterminedByBusinessObject and AllBusinessObjects.  If you set it to AllBusinessObjects, then all business objects on the form, will be edited when you call Edit() on the form.  The DeterminedByBusinessObject property is the one that will use the individual IncludeInForm properties on the business objects to determine whether the business objects will be included in the edit.  So, you'll need to set the property on the form to DeterminedByBusiness object for it to test that Boolean property on the business objects.
By StrataFrame Team - 8/11/2006

As for the second question, you'll need to do wht you said, and test the IsDirty() property of the business object before you show the BrowseDialog.

The best thing would probably be to go through the business objects in the Form.GetListOfSaveBOs(), which will return an array of the business objects that will be included in the save. If any of them are dirty, then show the message and handle the logic accordingly.

By Scott - 8/11/2006

I knew I had to be missing something.  Thanks
By StrataFrame Team - 8/11/2006

No problem Smile