AxForm
Applies To: Microsoft Dynamics AX 2012 R2, Microsoft Dynamics AX 2012 Feature Pack, Microsoft Dynamics AX 2012
An AxForm component displays data from an AxDataSource in a form layout for a User Control. Typically, the AxForm component will contain AxMultiSection components to define the various sections for the form. If the form will not have any sections, the AxGroup component can be added directly to the form.
Properties
The AxForm component has the following properties:
Appearance
Property |
Description |
---|---|
ShowButtonsInActionPane |
When set to true, the buttons for the “Save and Close” and “Close” actions are displayed in the Action Pane Web Part on the page. |
Behavior
Property |
Description |
---|---|
AutoGenerateCancelButton |
Indicates whether a cancel button is generated automatically for the form. |
AutoGeneratedEditButton |
Indicates whether an edit button is generated automatically for the form. |
AutoGenerateInsertButton |
Indicates whether an inert button is generated automatically for the form. |
DefaultMode |
The mode the form will be in when accessing data from the data source. The modes are ReadOnly, Edit, and Insert. The form will revert to this mode after a Cancel, Insert, or Update command. |
DerivedControlMode |
When a table hierarchy is used, specifies how the form will display fields from derived tables. If the fields do not exist for the entity type of the current record, the fields can be hidden or be shown in a disabled state. |
EnableViewState |
Specifies whether the control automatically saves its state for use in round-trips. |
UpdateOnPostBack |
Indicates whether the component is updated when a postback occurs. |
Visible |
Indicates whether the control is visible and rendered. |
Data
Property |
Description |
---|---|
Expressions |
The expressions that are bound to properties of the control. |
DataKeyNames |
A comma-separated list of key fields in the data source. |
DataMember |
The table or view from the data set that is being used for the form. Typically, the _Current setting is used for AxForm components. This setting indicates the form is pointing to the current record for the data set. |
DataSourceID |
Specifies the AxDataSource component that will be used by the form to access data. |
Misc
Property |
Description |
---|---|
ID |
The programmatic name of the control. |
Mode |
Specifies the current mode for the form. The modes are ReadOnly, Edit, and Insert. |
Styles
Property |
Description |
---|---|
CancelText |
Specifies the text displayed in the Close command button for the form. When following Microsoft Dynamics AX guidelines for Enterprise Portal, use the word “Close”. |
CommandRowStyle |
The style applied to rows that contain command fields. |
EditText |
Specifies the text displayed in the Edit command button for the form. When following Microsoft Dynamics AX guidelines for Enterprise Portal, use the word “Edit”. |
InsertText |
Specifies the text displayed in the Insert command button for the form. When following Microsoft Dynamics AX guidelines for Enterprise Portal, use the words “Save and close”. |
NewText |
Specifies the text displayed in the New command button for the form. When following Microsoft Dynamics AX guidelines for Enterprise Portal, use the word “Create”. |
UpdateText |
Specifies the text displayed in the Update command button for the form. When following Microsoft Dynamics AX guidelines for Enterprise Portal, use the words “Save and close”. |
ViewText |
Specifies the text for the tab in view mode. |
Events
The AxForm component has the events listed in the following table.
Event |
Description |
---|---|
AxRowCreated |
Occurs after a new row is created. |
AxRowCreating |
Occurs just before a new row is created. |
DataBinding |
Occurs when the server control binds to a data source. |
DataBound |
Occurs after the server control binds to a data source. |
Disposed |
Occurs when a server control is released from memory, which is the last stage of the server control lifecycle when an ASP.NET page is requested. |
Init |
Occurs when the server control is initialized, which is the first step in its lifecycle. |
ItemCommand |
Occurs when a button is clicked in the form control. |
ItemCreated |
Occurs after a new item has been created by the form control. |
ItemInserted |
Occurs after a new item has been inserted by the form control. |
ItemInserting |
Occurs before the new item has been inserted by the form control. |
ItemUpdated |
Occurs after an item has been updated by the form control. |
ItemUpdating |
Occurs before an item has been updated by the form control. |
Load |
Occurs when the server control is loaded into the System.Web.UI.Page object. |
ModeChanged |
Occurs after the mode of the form has changed, such as from ReadOnly mode to Edit mode. |
ModeChanging |
Occurs just before the form mode has changed, such as from ReadOnly mode to Edit mode. |
PageIndexChanged |
Occurs after the page index has changed for the form. |
PageIndexChanging |
Occurs just before the page index has changed for the form. |
PreRender |
Occurs after the System.Web.UI.Control object is loaded by prior to rendering. |
Unload |
Occurs when the server control is unloaded from memory. |
Create and Update behavior
When the user clicks the "Save and close" button on the action pane for the User Control, the AxForm component will fire the appropriate events to create or update the data for the form component. If you are using additional components in the User Control, such as an AxGridView, you may have to explicitly invoke the events for these other components to have their create or update operations performed when the user clicks "Save and close".
For example, the following C# code is the event handler for the ItemUpdating event of an AxForm component named EPSalesTableEdit. In this code, the UpdateRow event for an AxGridView component is called explicitly to ensure that any changes on the current row of the grid are saved.
void formEPSalesTableEdit_ItemUpdating(object sender, DetailsViewUpdateEventArgs e)
{
try
{
// Save the last unsaved line if any
if (gridEPSalesLineEdit.EditIndex != -1)
{
this.gridEPSalesLineEdit.UpdateRow(gridEPSalesLineEdit.EditIndex, true);
}
//Other code…
}
catch (System.Exception ex)
{
AxExceptionCategory exceptionCategory;
// This returns true if the exception can be handled here
if (!AxControlExceptionHandler.TryHandleException(this, ex, out exceptionCategory))
{
// The exception is system fatal - in this case we re-throw.
throw;
}
}
}